创建一个新的 File 实例会导致创建一个空文件吗?

St.*_*rio 3 java file

我阅读了javadocFile类。这是那里写的:

通过将给定的路径名​​字符串转换为抽象路径名来创建一个新的 File 实例。如果给定的字符串是空字符串,则结果是空的抽象路径名。

问题:是否保证如果文件不存在就不会创建空文件或取决于系统?我在 RedHat linux 上尝试过,只有在我创建OutputStream.

从java对我来说并不明显。

xen*_*ros 5

是的,保证不会通过调用new File(). 如果您调用它,它将被创建createNewFile()

模式可能是:

File f = new File(filePathString);
if(f.exists() && !f.isDirectory()) { 
    // do something
} else {
    f.createNewFile();
}
Run Code Online (Sandbox Code Playgroud)

  • 我同意 createNewFile() 方法。但是,如果您*保证*某些行为,您可能需要添加一些链接/来源来支持该声明! (2认同)