FileNotFoundException - 进程无法访问该文件

时间:2013-08-27 18:31:55

标签: java file-io filenotfoundexception

我在学校有一个网络驱动器,我有能力正常读取和写入,但是当我使用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没有运气,结果相同。

1 个答案:

答案 0 :(得分:5)

使用后,您应该close() BufferedReaderFileReader

使用try / finally块并关闭finally块中的Reader

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();
}