標籤:
Java之File類及遞迴樹形展示目錄
20150804
下面的建構函式可以用來產生File 對象:
File(String directoryPath)
File(String directoryPath, String filename)
File(File dirObj, String filename)這裡,directoryPath是檔案的路徑名,filename 是檔案名稱,dirObj 一個指定目錄的File 對象。下面的例子建立了三個檔案:f1,f2,和f3。第一個File對象是由僅有一個目錄路徑參數的建構函式產生的。第二個對象有兩個參數——路徑和檔案名稱。第三個File對象的參數包括指向f1檔案的路徑及檔案名稱。f3和f2指向相同的檔案。File f1 = new File("/");File f2 = new File("/","autoexec.bat");File f3 = new File(f1,"autoexec.bat");注意:Java 能正確處理UNIX和Windows/DOS約定路徑分隔字元。如果在Windows版本的Java下用斜線(/),路徑處理依然正確。記住,如果你用Windows/DOS使用反斜線(/)的約定,你需要在字串內使用它的逸出序列(//)。Java約定是用UNIX和URL風格的斜線來作路徑分隔字元。
下面以一個小例子來說明一下File類常用的方法:
目標:以樹形結構把指定的目錄及檔案列印在控制台上
思想:遞迴
package day04;import java.io.File;/* * 列印樹狀目錄 * 核心方法:遞迴 * 用到的方法: * 1)f.getName() ---獲得該目錄的名字 * 2)f.list() ------列出該目錄下所有的一級目錄及檔案,傳回值String[] * */public class TestFile02 {public static void printFile(File f,int lever){for(int i=0;i<lever;i++){System.out.print("-");}System.out.println(f.getName());if(f.isFile()){return ;}else{String[] s=f.list();for(int i=0;i<s.length;i++){File f1=new File(f.getPath()+File.separator+s[i]);printFile(f1,lever+1);}}return ;}public static void main(String[] args) {//String path="/home/soft01/QXL";//可以用/也可以用File類提供的分隔字元File.separator(建議用分隔字元,不會有系統的問題)String path="F:/JavaTrain/Teaching"; File f=new File(path);printFile(f,0);}}
總結:File類常用的方法及屬性都比較簡單,基本上見名知意,不再囉嗦。特殊的幾個在上面代碼中有示範
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Java之File類及遞迴樹形展示目錄_20150804