標籤:定義 研究 自己 抽象 不同 int for 磁碟 異常
2016-11-18
這是本人的第一篇隨筆部落格,糾結了半天還是選擇自己學的時候比較用心的一些知識點上。利用java.io.File類指定本地的檔案夾進行遍曆所有的檔案。
package org.lxm.filedemo;import java.io.File;import java.util.Scanner;/* * 本程式是將某個盤的所有檔案夾及其檔案全部調出來的操作 */public class FileAllDemo { public static void main(String[] args) { // 通過Scanner進行互動 Scanner sc = new Scanner(System.in); System.out.println("請輸入要列印出的檔案夾:(windows下分隔字元請使用“\\”)"); // 接收輸入的內容 String pan = sc.next(); // 執行個體化File類 File file = new File(pan); // 調用lists方法 lists(file); } public static void lists(File file) { if (file.isDirectory()) { // 判斷是否為檔案夾 File[] list = file.listFiles(); // 使用數組接收帶有完整路徑的檔案夾 if (list != null) { // 迴圈遍曆檔案 for (int i = 0; i < list.length; i++) { lists(list[i]); } } // 輸出檔案名稱 System.out.println(file); } }}
以上就是實現的代碼。
File 類的執行個體是不可變的;也就是說,一旦建立,File 對象表示的抽象路徑名將永不改變。其中路徑中由於windows和linu系統使用的符號不同,所以通常使用File.separator(此處為常量)進行分隔,用法樣本如 File file = new File("E:"+File.separator+"1.jpg");
經常用到的方法有createNewFile()方法,表示建立一個新的檔案,建立時必須指定一個路徑,用法樣本如以上的file不存在,則可使用 file.createNewFile()進行建立,此時會拋出異常,需要try{//建立代碼}catch(IOException e){}或throws進行處理,這裡不做重點;
mkdir()方法,表示建立檔案夾命令,和上面一樣,必須指定一個路徑,如 File file1 = new File("E:"+File.separator+"java");file1.mkdir();則在指定路徑上將建立一個java檔案夾;
delete()方法,表示刪除指定路徑的檔案,用法如若刪除以上建立的檔案則file.delete();就可將檔案刪除;
exists()方法,表示測試指定路徑的檔案是否存在,返回的是一個布爾值,true或false,用法如以上將file刪除之後測試file.exists()就會返回false,常用於if語句中;
isFile()方法,表示測試指定路徑的檔案是否為一個檔案,返回true或false,isDirectory()方法,表示指定的路徑是否為一個檔案夾,用法略;
File[] listFiles()方法,利用數組進行指定檔案夾的遍曆,用法為先定義一個File filepath = new File("E:"+File.separator+"檔案夾名稱");File[] list = filepath.listFiles();再利用加強的for迴圈將檔案夾名稱下面的檔案及檔案夾遍曆出來,如for(File lists : list){System.out.println(lists);};
String[] list()方法,和上面listFiles()方法類似,都是將指定檔案夾下面的檔案及檔案夾遍曆出來,用法相同,不同之處是使用list()方法遍曆出來的內容是 根目錄:\ 檔案名稱,如 E:\檔案名稱,而使用listFiles()方法遍曆出來的內容是 根目錄:\ 檔案夾名\檔案名稱,如 E:\檔案夾名稱\檔案名稱。這是比較直觀的區別;
以上就是常用的方法,具體請參考API進行分析研究。
利用java.io.File類實現遍曆本地磁碟上指定盤符或檔案夾的所有的檔案