如何知道文件是代表根还是我的电脑?

时间:2013-07-13 14:28:25

标签: java java-io java.nio.file

我有一个java.io.File对象,我不知道它对应哪个。使用isDirectory()方法,我们可以检查它是否是目录。普通文件夹和驱动器在调用isDirectory()

时都返回true

我如何检查File对象是驱动器还是我的电脑?

1 个答案:

答案 0 :(得分:3)

有两种方法,一种是

File f=new File("C:\\");
if(f.toPath().getNameCount()==0) System.out.println(f+" is root");

getNameCount()方法返回no。给定File

的根

toPath()方法返回java.nio.file.Path的{​​{1}}对象。还有一件事,你甚至不需要在这里导入f包。

例如,如果java.nio.file,则返回1,因为只有一个根f=new File("C:\\Program Files");

驱动器的名称计数为0

我的电脑无法表示为 C:\\ 对象。如果您尝试这样做,

File获得File f=new File("C:\\").getParentFile();

另一种方式是(我不推荐)。在这里我们将不得不使用一个循环,从性能的角度来看,它会降低性能,同时,这也是很长的。

null