1

我在学校有一个网络驱动器,我可以正常读写它,但是当我使用 java 获取现有文本文件并尝试写入它时,我得到了这个异常:

java.io.FileNotFoundException: p:\CompSci_CheckIn_Name.txt (The process cannot access the file because it is being used by another process)

我可以很好地阅读它,但是当我尝试写入它时,它会抛出一个异常。我可以写到我的桌面并从我的桌面读取所有内容,但是当我尝试我的网络驱动器时,它放弃了。我怎么能解决这个问题?

阅读

file = new File(directories[i], "CompSci_CheckIn_Name.txt");
readName = new BufferedReader(new FileReader(file));
userName = readName.readLine();
passed = true;

写作

write = new PrintWriter(file);
write.println(newUser);
write.flush();
userName = newUser;
write.close();

我已经尝试过BufferedWriter没有运气,同样的结果。

4

1 回答 1

5

你应该在使用它们之后close() BufferedReaderFileReader

使用 try/finally 块并Reader在 finally 块中关闭您的 s。

FileReader fr = null;
BufferdReader br = null;

try {
    fr = new FileRader(file);
    br = new BufferedReader(fr);

    // do something..

} finally {
    if (br != null) br.close();
    if (fr != null) fr.close();
}
于 2013-10-01T05:44:21.973 回答