Cod*_*ggo 0 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)
Run Code Online (Sandbox Code Playgroud)
我可以读得很好,但是当我尝试写它时,它会抛出一个例外.我可以写入桌面并从桌面读取所有内容,但是当我尝试使用网络驱动器时,它会放弃.我怎么能解决这个问题?
file = new File(directories[i], "CompSci_CheckIn_Name.txt");
readName = new BufferedReader(new FileReader(file));
userName = readName.readLine();
passed = true;
Run Code Online (Sandbox Code Playgroud)
write = new PrintWriter(file);
write.println(newUser);
write.flush();
userName = newUser;
write.close();
Run Code Online (Sandbox Code Playgroud)
我已经尝试过BufferedWriter没有运气,同样的结果.
小智 5
你应该close() BufferedReader和FileReader使用它们之后.
使用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();
}
Run Code Online (Sandbox Code Playgroud)