有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java删除文本行并重写文件

这是我的密码。除了最后两行,其他都可以。我正在试着把一条线从。txt并将文件重写为tempfile,然后将tempfile重命名为original。最后两行被忽略了。以下是错误:

https://i.gyazo.com/66a320aeaf487837ce64fe3424074de6.png

这两条线被忽略了:

输入文件。删除()

临时文件。重命名(输入文件)

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

共 (1) 个答案

  1. # 1 楼答案

    看起来它无法删除文件。你能试着用一下吗

    Files.delete(inputFile.toPath()) 
    

    相反

    docs

    Note that the Files class defines the delete method to throw an IOException when a file cannot be deleted. This is useful for error reporting and to diagnose why a file cannot be deleted.