2014-09-29 80 views
0

如果全名更新,我有一個名爲「fullName」的目錄,我也想更新目錄名。我如何重命名目錄?這是我到目前爲止的代碼:爲什麼我不能重命名我的文件的目錄?

try 
       { 
        System.out.print("Enter new first name: "); 
        firstName = sc.nextLine(); 

        File fileLN = new File(fullName + "\\lastName.txt"); 

        FileReader fr = new FileReader(fileLN); 
        BufferedReader br = new BufferedReader(fr); 
        lastName = br.readLine(); 

        // set new full name 
        newFullName = firstName + lastName; 
        System.out.println(newFullName); // debug 

        File file = new File(fullName); 
        File newFile = new File(newFullName); 
        if(file.isDirectory()) 
        { 
         file.renameTo(newFile); 
         System.out.println("worked"); //debug 
        } 
        else 
        { 
         System.out.println("Directory not found"); 
        } 
       } 
       catch(IOException e) 
       { 
        e.printStackTrace(); 
       } 
+2

錯誤是什麼? – 2014-09-29 22:44:06

+0

錯誤在於它不是重命名目錄。說全名是「John Doe」,那麼我會有一個名爲「JohnDoe」的目錄,如果我要將第一個名稱更改爲「Joe」,我希望我的目錄名更新爲「JoeDoe」 – mcjcloud 2014-09-29 22:48:50

回答

0

這可能是因爲你仍然有你想要的目錄命名打開的文件。如果您使用的是基於Windows的平臺,則嘗試執行重命名時會出現錯誤。解決辦法是在重命名之前關閉fr

lastName = br.readLine(); 
fr.close(); 
+0

它仍然沒有重命名我的目錄 – mcjcloud 2014-09-29 22:52:05

+0

好的,好吧,也許你還有另一個文件仍然在你沒有向我們顯示的目錄中打開。 – 2014-09-29 22:53:12

+0

我經歷了檢查,並且似乎已經修復了我的代碼,非常感謝! – mcjcloud 2014-09-29 23:08:13

相關問題