package IO輸入輸出流;
import java.io.File;
import java.io.IOException;
// 列出file類的一些常用操作,比如過濾、遍歷等操作
public class FileUtils {
public static void listDirectory(File dir) throws IOException{
// exists()方法用於判斷文件或目錄是否存在
if(!dir.exists()){
throw new IllegalArgumentException("目錄:" + dir + "不存在");
}
// isDirectory()方法用於判斷File類的對象是否是目錄
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir + "不是目錄");
}
// list方法用於列出當前目錄下的子目錄和文件
/*String[] filenames = dir.list(); // 返回的是字符串數組 直接子的名稱 不包含子目錄下的內容
for (String string : filenames) {
System.out.println(dir + ":\\" + string);
}*/
// 如果要遍歷子目錄下的內容就需要構造成File對象做遞歸操作,File提供了返回File對象的API
File[] files = dir.listFiles(); // 返回的是直接子目錄(文件)的抽象
//for (File file : files) {
//System.out.println(file);
if(files!=null && files.length > 0){
for (File file : files) {
if(file.isDirectory()){
// 遞歸
listDirectory(file);
}else{
System.out.println(file);
}
}
}
}
}