Java不删除文本文件

时间:2019-03-18 18:48:22

标签: java

当我在该类中测试该程序时,它会删除 temp.txt 很好,但是当我从另一个类中调用它时,它将无法删除。任何帮助,不胜感激! (ps-我还没有附上我所谓的课程)

public class txtWriteReadDelete{
public static void deleteRecord(String filePath,String usernameDelete) {
    String tempFile="temp.txt";
    File oldFile=new File(filePath);
    System.out.println("oldFile: "+ oldFile);
    File newFile=new File(tempFile);
    String username="";String password="";

    try {
    FileWriter  fileWriter=new FileWriter(tempFile,true);
    BufferedWriter bufferedWriter =new BufferedWriter(fileWriter);
    PrintWriter printWriter=new PrintWriter(bufferedWriter);
    Scanner x=new Scanner(new File(filePath));
    x.useDelimiter("[,\n]");

    while (x.hasNext()){
        username=x.next();
        password=x.next();
        if(!username.equals(usernameDelete)) {
            System.out.println(username);
            printWriter.println(username + "," + password);

        }

    x.close();
    printWriter.flush();
    printWriter.close();
    boolean deleted = oldFile.delete();
    System.out.println("temp deleted: "+deleted);
    File dump=new File(filePath);
    newFile.renameTo(dump); 
}
catch(Exception E) {
    E.printStackTrace();
    JOptionPane.showMessageDialog(null, "ERROR");

}

1 个答案:

答案 0 :(得分:0)

使用.delete()操作删除文件需要有效路径。如果路径不正确,.delete()将无法删除该文件。

您可以使用oldFile.isFile()操作来检查文件的有效性。

您需要提供文件的完整路径。