IO File和遞迴
阿新 • • 發佈:2021-07-30
IO:
java資料都在記憶體中,一旦程式結束,資料就消失了,可以使用io操作:將記憶體中的資料儲存到持久化裝置上Output操作,將持久化裝置上的資料讀取到記憶體中Input操作;
File類的建構函式
使用構造方法建立File
File file2 = new File("src"); File file3 = new File("D:\\","java"); File file4 = new File(new File("D:\\java"),"hello.txt");
File類的獲取
File file = new File("D:\\java\\hello.txt");// 獲取絕對路徑 System.out.println(file.getAbsolutePath()); // 獲取檔名 System.out.println(file.getName()); // 路徑 System.out.println(file.getPath()); // 檔案長度:位元組數 System.out.println(file.length());
File類對檔案操作
// 建立檔案 public static void mathod01() throwsIOException{ // 描述要建立的檔案路徑 File file = new File("D:\\java\\a"); // 建立檔案 boolean flag = file.createNewFile(); System.out.println(flag); } // 刪除檔案或資料夾 public static void mathod02(){ // 描述要刪除的檔案或資料夾路徑 File file = new File("D:\\java\\b"); booleanflag = file.delete(); System.out.println(flag); } // 判斷檔案屬性 public static void mathod03(){ File file = new File("D:\\java\\hello.txt"); // 是否存在檔案 System.out.println(file.exists()); // 是否是資料夾 System.out.println(file.isDirectory()); // 是否是檔案 System.out.println(file.isFile()); } // 建立資料夾 public static void mathod04(){ File file = new File("D:\\io0429\\java.txt"); boolean flag = file.mkdirs(); System.out.println(flag); }
list和listFiles方法
File file = new File("D:\\java"); // 獲取當前資料夾下的所有檔案和資料夾的名陣列 String [] files = file.list(); for(String f : files){ System.out.println(f); } // 獲取當前資料夾下的所有檔案和資料夾物件陣列 File [] all= file.listFiles(); for(File f : all){ System.out.println(f); }
遞迴
指在當前方法呼叫自己
遞迴要有條件限定,保證遞迴可以停止,否則會導致棧記憶體溢位,遞迴次數過多也會導致棧記憶體溢位。
// 計算1-100的和 public static int add(int n){ if(n == 1){ return 1; } return n + add(n-1); } // 斐波那契數列 public static int create(int n ){ if(n == 1){ return 1; } if(n == 2){ return 1; } return create (n-1) + create (n-2); }