这是我的代码。一切都有效,除了最后两行。我试图从.txt中删除一行,并将该文件重写为临时文件,然后将tempfile重命名为original。最后两行被忽略了。这是错误:
https://i.gyazo.com/66a320aeaf487837ce64fe3424074de6.png
这两行被忽略了:
inputFile.delete();
tempFile.renameTo(INPUTFILE);
File inputFile = new File(a.getDirectoryData() + "UserTwo.txt");
File tempFile = new File(a.getDirectoryData() + "TempUserTwo.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String currentLine;
while((currentLine = reader.readLine()) != null) {
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(a.username + ":" + a.password)) continue;
writer.write(currentLine + "\r\n");
}
reader.close();
writer.close();
inputFile.delete();
tempFile.renameTo(inputFile);
答案 0 :(得分:0)
看起来无法删除文件。你能尝试使用
吗?Files.delete(inputFile.toPath())
代替?
来自docs:
请注意,Files类定义了删除方法,以便在无法删除文件时抛出IOException。这对于错误报告和诊断无法删除文件的原因非常有用。