檔案的建立與刪除
阿新 • • 發佈:2019-01-01
/**
* 要求使用者輸入一個檔名並使用File在當前目錄下創建出來。
* 若該檔案已經存在,則提示使用者該檔案已經存在。並建立該檔案副本:
* 例如:使用者輸入"test.txt".若該檔案已存在,提示使用者存在後,建立名為:test_副本1.txt 的檔案
* 若該檔案也存在了,則建立名為:test_副本2.txt 的檔案,以此類推
* @author Xiloer
*
*/
程式碼如下:
public class Test02 { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); System.out.println("請輸入檔名:"); String input = scan.nextLine().trim(); File file = new File("test.txt"); boolean flag = file.exists(); if(!flag){//若不存在 file.createNewFile(); }else{ int index = 0; while(flag){ index++; file = new File("test_副本"+index+".txt"); flag = file.exists(); } file.createNewFile(); } System.out.println("檔名:"+file.getName()); } }
刪除檔案操作
要求:要求使用者輸入一個檔案或目錄名,若為檔案則刪除,若為目錄(目錄中可能有其他檔案或目錄)也刪除
程式碼如下:
public class Test05 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入檔案或目錄名字:"); String input = scan.nextLine().trim();//接收名字 File file = new File(input); if(!file.exists()){//要刪除的檔案或目錄是否存在 System.out.println("目錄或檔案不存在"); return; } deleteFile(file); } //遍歷過程中,元素為檔案則刪除,元素為有內容目錄則繼續遍歷, //元素為空目錄則執行if後,不會執行for迴圈,但要執行刪除語句,將空目錄刪除,遞迴刪除以上所有 public static void deleteFile(File file){ //如果是目錄,需要先刪除當前目錄下的所有子項 if(file.isDirectory()){ for(File f : file.listFiles()){//遍歷子目錄 deleteFile(f); } } file.delete();//必定執行的語句 } }