2011-03-10 103 views
0
private static void deletefile(String file) { 

    int fileName = 500; 
    int z; 
    String[] File = new String[fileName]; 
    for (z = 0; z < fileName; z++) { 
     File f1 = new File(
       "C:\\Users\\user\\fypworkspace\\TextRenderer\\abc" + z 
         + ".txt"); 
     boolean success = f1.delete(); 
     if (!success) { 
      System.out.println("Deletion failed."); 
      System.exit(0); 
     } else { 
      System.out.println("File deleted."); 
     } 
    } 
} 

public static void main(String[] args) throws IOException { 
    switch (args.length) { 
    case 0: 
     System.out.println("File has not mentioned."); 
     System.exit(0); 
    case 1: 
     deletefile(args[0]); 
     System.exit(0); 
    default: 
     System.out.println("Multiple files are not allow."); 
     System.exit(0); 

嗨,這是我嘗試刪除java中的某些文件的代碼。它打印出來的文件沒有提到過,我試圖刪除某個文件夾中的一組txt文件。一旦文件丟失,程序應該繼續下一個文件。任何人都可以指出我的錯誤嗎?謝謝..刪除文件的問題

+0

你的目標是?將abc1.txt,abc2.txt中的所有文件刪除到abc500.txt?當一個文件丟失或者您沒有寫入權限時,程序應該終止還是繼續下一個文件? – Nachtfrost 2011-03-10 12:50:12

+0

這裏列出什麼更容易...您至少已將代碼標記爲代碼。 – Lazarus 2011-03-10 12:55:34

+0

抱歉,我的問題顯示不佳,我試圖刪除某個文件夾中的一組txt文件。一旦文件丟失,程序應該繼續下一個文件。請指出我缺乏的地方?謝謝。 – 2011-03-10 13:03:58

回答

2

顯然你沒有將任何命令行參數傳遞給你的程序。

(雖然即使這樣做,也不會在deletefile()的任何地方使用 - 您的方法會嘗試刪除特定目錄中的一組固定文件,並且這些文件中的任何一個丟失或您沒有刪除權限它會退出並顯示錯誤消息。)

0

運行Java程序時,必須指定文件名作爲命令行參數。

java MyClass file_to_delete 
0

當您創建一個新文件時,您需要檢查或捕獲異常,以便在找不到該文件時不會停止。