黑马程序员技术交流社区
标题:
关于File listRoots的一点小疑问
[打印本页]
作者:
三十而立
时间:
2014-1-24 13:49
标题:
关于File listRoots的一点小疑问
/**
* File listRoots 列出可用的文件系统根(列出系统中可用的盘符)
*/
public static void listRootsMethod(){
File[] files = File.listRoots();
for(File f : files)
{
System.out.println(f.getName()+"::"+f.length());
}
}
复制代码
输出结果:
::12288
::8192
::0
::8192
::0
::4096
问题:这个不是应该可以看到盘符的么?
作者:
放课后小朋友
时间:
2014-1-24 15:29
方法用错了,该使用getAbsolutePath()方法
import java.io.File;
public class JiShuFen11 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File[] files=File.listRoots();
for(File f:files){
System.out.println(f.getAbsolutePath()+":"+f.length());
}
}
}
复制代码
这样就可以列出来盘符编号
作者:
三十而立
时间:
2014-1-24 23:07
放课后小朋友 发表于 2014-1-24 15:29
方法用错了,该使用getAbsolutePath()方法
恩,知道了。谢谢了,太大意了。
作者:
路国强
时间:
2014-1-25 01:48
public static void listRootsDemo(){
File[] files = File.listRoots();
for(File f:files){
System.out.println(f);
}
}
复制代码
兄弟。输出盘符是直接输出File的对象,不是f.getName();
作者:
翼展哈哈
时间:
2014-1-25 11:54
楼主您好
上面的各位同学已经解释了,正确输出盘符的方法,我来解释一下为什么File对象f调用了getName方法却什么也没有输出。
查看jdk文档中File的getName方法,有如下介绍:
(getName方法)返回由此抽象路径名表示的文件或目录的名称。
该名称是路径名名称序列中的最后一个名称
。如果路径名名称序列为空,则返回空字符串。
分析可知,盘符路径名称序列的最后一个就是空,所以f在调用getName方法什么也没有输出。
希望可以帮到楼主,说的有什么不对的,欢迎指正!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2