检查文件/目录的存在而不创建新的File对象

时间:2014-04-03 00:20:35

标签: java

我不想使用传统的方法为每个路径名(文件/目录)创建一个新的文件对象,我想检查是否存在。例如,在下面的代码中:

    public class FileChecker {

    public static void main(String args[]) {

      File f1 = new File("home/usr/data1");
      File f2 = new File("home/usr/data2")

      if(f1.exists()){
          System.out.println("File existed");
      }else{
          System.out.println("File not found!");
      }

      if(f2.exists()){
          System.out.println("File existed");
      }else{
          System.out.println("File not found!");
      }
  }

}

我必须为每个候选文件创建一个新对象,我希望检查它的存在,我认为如果我的文件列表(需要检查存在的文件很大),这种方法会单调地填充堆空间。是否有其他方法可以在不创建如此多的File对象的情况下实现相同的目标?

1 个答案:

答案 0 :(得分:0)

如果您知道要检查文件的文件夹,可以使用以下方法查找文件的存在,而无需创建如此多的File对象 -

File folder = new File("<directory_name>");
ArrayList<String> fileNames = new ArrayList<String>(Arrays.asList(folder.list()));
fileNames.contains("my file");