我不想使用传统的方法为每个路径名(文件/目录)创建一个新的文件对象,我想检查是否存在。例如,在下面的代码中:
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对象的情况下实现相同的目标?
答案 0 :(得分:0)
如果您知道要检查文件的文件夹,可以使用以下方法查找文件的存在,而无需创建如此多的File对象 -
File folder = new File("<directory_name>");
ArrayList<String> fileNames = new ArrayList<String>(Arrays.asList(folder.list()));
fileNames.contains("my file");