簡體   English   中英

Java 函數 delete() 和 renameTo() 不刪除也不重命名

[英]Java functions delete() and renameTo() not deleting nor renaming

public void newEditSportRecord(){
    String filepath = "sport.txt"; //exists in C:\Users\Dell\Documents\NetBeansProjects\Assignment\
    String editTerm = JOptionPane.showInputDialog("Enter ID of Sport you wish to modify:");
    
    String tempFile = "temp.txt"; // to be created in C:\Users\Dell\Documents\NetBeansProjects\Assignment\
    File oldFile = new File(filepath);
    System.out.println(oldFile.getAbsolutePath()); // prints C:\Users\Dell\Documents\NetBeansProjects\Assignment\sport.txt
    File newFile = new File(tempFile);
    System.out.println(newFile.getAbsolutePath()); // prints C:\Users\Dell\Documents\NetBeansProjects\Assignment\temp.txt
    String ID, name = "";

    try {
        FileWriter fw = new FileWriter(tempFile, true);
        BufferedWriter bw = new BufferedWriter(fw);
        PrintWriter pw = new PrintWriter(bw);
        x = new Scanner(new File(filepath));
        
        while (x.hasNextLine()) {
            ID = x.next();
            System.out.println(ID);
            name = x.next();
            System.out.println(name);

            if (ID.equals(editTerm)) {
                newID = JOptionPane.showInputDialog("Enter new Sport ID:");
                newName = JOptionPane.showInputDialog("Enter new Sport Name:");
                pw.println(newID);
                pw.println(newName);
                pw.println();
                JOptionPane.showMessageDialog(modifySport, "Record Modified");
            } else {
                pw.println(ID);
                pw.println(name);
                pw.println();
            }
        }
        x.close();
        pw.flush();
        pw.close();
        oldFile.delete();
        File dump = new File(filepath);
        newFile.renameTo(dump);
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(modifySport, ex);
    }
}

我有以下 function 來嘗試修改文本文件。 但是,它不會刪除原始文件“sport.txt”,也不會將“temp.txt”重命名為“sport.txt”。 它確實從文件中讀取並創建“sport.txt”的副本,其中所有相關修改為“temp.txt”。 我曾懷疑這是作家的問題,但在關閉所有作家后,問題仍然存在。 這僅僅是權限問題,因為該文件夾存在於本地磁盤上的 Documents 文件夾中嗎?

是的,這是一個權限問題。 更改 Documents 文件夾的權限並向您的用戶授予對所有權限的訪問權限,或者更改您的工作文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM