有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何知道文件是表示根还是我的计算机?

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

如何检查File对象是驱动器还是我的计算机


共 (1) 个答案

  1. # 1 楼答案

    有两种方法,一种是

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

    getNameCount()方法返回给定File的根数

    toPath()方法返回fjava.nio.file.Path对象。还有一件事,您甚至不需要在这里导入java.nio.file

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

    驱动器的名称计数为0

    我的计算机不能表示为File对象。如果您尝试这样做,

    File f=new File("C:\\").getParentFile();你得到了null

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

    File[] files=File.listRoots();
    for(int i=0;i<files.length;i++)
    {
      if(files[i].equals(f)){
      System.out.println(f+" is root");
      break;
      }
    }