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進行分析研究。
