好的,所以我知道这有多个问题,但我找不到答案,我很抱歉创建一个类似的答案。
无论如何我的问题是我需要检查一个文件的存在(如果它已经创建了),但问题出现在我的代码上我显然先将文件放到我能够检查它是否存在之前。
File createFile = new File ("//path/name.txt");
我在某处看到该行不应该在没有:
的情况下生成文件createFile.createNewFile();
但是当我测试它并在我的程序上时,我的程序正在创建文件,即使没有使用createNewFile()
方法。我很困惑,如何在没有预先创建的情况下检查文件是否存在。
以下是部分代码:
File newFile = new File ("C:/Documents and Settings/Admin/Desktop/Keys.txt");
BufferedWriter write = new BufferedWriter (new FileWriter (newFile));
BufferedReader read = new BufferedReader (new FileReader (newFile));
if (newFile.exist())
{
System.out.print("File is existing");
}
答案 0 :(得分:2)
在创建文件编写器之前将检查移动到将创建文件(如果文件不存在)。
File newFile = new File ("C:/Documents and Settings/Admin/Desktop/Keys.txt");
if (newFile.exist()) {
System.out.print("File is existing");
}
BufferedWriter write = new BufferedWriter (new FileWriter (newFile));
BufferedReader read = new BufferedReader (new FileReader (newFile));
答案 1 :(得分:1)
new File ("//path/name.txt");
不'使文件成为'如果它不存在。如果文件不存在,.exist()
将返回false
。