gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:30:42 26 4
gpt4 key购买 nike

如果我这样做:

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

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

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

编辑:

我忘了提到它在一个 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()

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

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() 是正确的继续方式。不要试图优化它。

关于java - 检查文件是否存在而不创建它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com