检查文件是否存在而不创建它

2024-03-25

如果我这样做:

File f = new File("c:\\text.txt");

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

然后文件被创建并始终返回“文件存在”。是否可以在不创建文件的情况下检查文件是否存在?

EDIT:

我忘了说它是在 for 循环中。所以这是真实的事情:

for (int i = 0; i < 10; i++) {
    File file = new File("c:\\text" + i + ".txt");
    System.out.println("New file created: " + file.getPath());
}

当你实例化一个File,您不会在磁盘上创建任何内容,而只是构建一个可以调用某些方法的对象,例如exists().

这很好而且很便宜,不要试图避免这种实例化。

The File实例只有两个字段:

private String path;
private transient int prefixLength;

这是构造函数:

public File(String pathname) {
    if (pathname == null) {
        throw new NullPointerException();
    }
    this.path = fs.normalize(pathname);
    this.prefixLength = fs.prefixLength(this.path);
}

如您所见,File实例只是路径的封装。创建它以便调用exists()是正确的继续方法。不要试图优化它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查文件是否存在而不创建它 的相关文章

随机推荐