如何在Java中检查文件是目录还是文件

时间:2020-02-23 14:33:59  来源:igfitidea点击:

java.io.File类包含两个方法,通过它们我们可以确定文件是java中的目录还是常规文件。

  • isFile():如果文件存在并且是常规文件,则此方法返回true,请注意,如果文件不存在,则返回false。

  • isDirectory():如果文件实际上是目录,则此方法返回true;如果路径不存在,则返回false。

在检查文件是目录文件还是常规文件时,我们应该首先检查文件是否存在。
如果存在,那么只有我们应该检查它是目录还是文件。

一个显示其用法的简单Java程序。

package com.theitroad.files;

import java.io.File;

public class CheckDirectoryOrFile {

  public static void main(String[] args) {
      File file = new File("/Users/pankaj/source.txt");
      File dir = new File("/Users/pankaj");
      File notExists = new File("/Users/pankaj/notafile");
      
      System.out.println("/Users/pankaj/source.txt is file?"+file.isFile());
      System.out.println("/Users/pankaj/source.txt is directory?"+file.isDirectory());
      
      System.out.println("/Users/pankaj is file?"+dir.isFile());
      System.out.println("/Users/pankaj is directory?"+dir.isDirectory());
      
      System.out.println("/Users/pankaj/notafile is file?"+notExists.isFile());
      System.out.println("/Users/pankaj/notafile is directory?"+notExists.isDirectory());
  }

}

上面程序的输出是:

/Users/pankaj/source.txt is file?true
/Users/pankaj/source.txt is directory?false
/Users/pankaj is file?false
/Users/pankaj is directory?true
/Users/pankaj/notafile is file?false
/Users/pankaj/notafile is directory?false