黑马程序员技术交流社区

标题: 字符串切割的和获取的问题?-----求解? [打印本页]

作者: 金肖    时间: 2012-5-20 17:28
标题: 字符串切割的和获取的问题?-----求解?
  1. public class Demo {
  2.         public static void main(String[] args) throws Exception {

  3.                File oldPath = new File("E:\\d");
  4.    
  5.             char[] ch = oldPath.getName().toCharArray();
  6.               System.out.println(ch[0]);   //打印结果为  d
复制代码
我想获取目录的 盘 名,但是总是不成功?

//求解,为什么我将文件路径的字符串表现形式转换成了字符数组后,
                                                        //获取 0 脚标元素怎么是 d,  不是  E 呢?

作者: 8161776    时间: 2012-5-20 17:49
本帖最后由 杨尧 于 2012-5-20 17:51 编辑

//求解,为什么我将文件路径的字符串表现形式转换成了字符数组后,
                                                        //获取 0 脚标元素怎么是 d,  不是  E 呢?
因为File里面getName方法是  返回由此抽象路径名表示的文件或目录的名称。该名称是路径名名称序列中的最后一个名称。不是返回的全目录
如果你想获取全路径的话可以用File里的getPath() 方法

希望能帮到你
作者: 冯越    时间: 2012-5-20 18:12
以下是JavaAPI文档的关于这个方法的解释:
public String getName()返回由此抽象路径名表示的文件或目录的名称。该名称是路径名名称序列中的最后一个名称。如果路径名名称序列为空,则返回空字符串。
返回:
此抽象路径名表示的文件或目录的名称;如果路径名的名称序列为空,则返回空字符串

看了这个说明我想你就应该明白为什么了吧。
作者: 金肖    时间: 2012-5-20 18:49
冯越 发表于 2012-5-20 18:12
以下是JavaAPI文档的关于这个方法的解释:
public String getName()返回由此抽象路径名表示的文件或目录的 ...

我现在 就想  获取  E:\\d\\a    这个路径下的   E   ,其他的都不需要,请问怎么获取?
作者: 田林    时间: 2012-5-20 19:07
金肖 发表于 2012-5-20 18:49
我现在 就想  获取  E:\\d\\a    这个路径下的   E   ,其他的都不需要,请问怎么获取? ...

获取  E:\\d\\a    这个路径下的   E 的方式:
import java.io.File;
public class Demo{

    public static void main(String[] args) throws Exception {

           File oldPath = new File("E:\\d\\a");

           String absolutePath=oldPath.getAbsolutePath();
        
           String[] arr=absolutePath.split(":");

           System.out.println(arr[0]);
    }
}
作者: 金肖    时间: 2012-5-20 19:15
田林 发表于 2012-5-20 19:07
获取  E:\\d\\a    这个路径下的   E 的方式:
import java.io.File;
public class Demo{

哦啦...谢哥们!:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2