0

我这样做并将一些内容写入该文件。

fileSymbol = new File("D:\\TempFiles\\SymbolFile.xml");
fileSymbol.createNewFile();
prSymbol = new PrintWriter(fileSymbol);
while(//condition goes here){
   prSymbol.write(text);
}

然后我尝试从这个文件中读取,

FileReader fr = new FileReader(fileSymbol);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();

当我尝试运行时,它给出了以下异常

java.io.FileNotFoundException: fileSymbol (The system cannot find the file specified)

当我尝试

fileSymbol.canRead();
fileSymbol.exists();

两者都返回 true。

尽管我已经创建了文件,但我不明白为什么会出现此错误。当我手动检查位置时,我可以看到我创建的文件。

PS:我刚刚提供了我的代码的代码片段。

4

2 回答 2

4

在阅读文件之前添加以下内容

  prSymbol.close();

关闭前不需要调用flush()。参考JavaDoc - close()

于 2013-03-07T06:09:23.840 回答
3

java.io.FileNotFoundException: fileSymbol (系统找不到指定的文件)

如果您准确地转录了该消息,则只能表示您使用"fileSymbol"的是文件名,而之前您使用的是"D:\\TempFiles\\SymbolFile.xml".

createNewFile()NB在创建输出流或写入同一文件之前调用该行完全是浪费时间。

于 2013-03-07T06:22:35.413 回答