關於文件的工具類例子
阿新 • • 發佈:2018-08-09
16px style path 開始 ica font out for com
一 . 遞歸獲取當前路徑下的所有文件, 包含所有子文件夾下的文件:
package com.ncy.xx; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 文件查找 * @author NCY * */ public class ListFiles { /** * @Title: getallfile * @Description: 獲取當前路徑下的所有文件 * @author ruby * @return void 返回類型 * @date 2018年1月4日 下午2:15:38@throws */ public static List<File> getallfile(String path) { List<File> allfilelist = new ArrayList<File>(); return getallfile(new File(path), allfilelist); } /** * @Title: getallfile * @Description: 獲取當前文件夾下的所有文件 * @author ruby *@return void 返回類型 * @date 2018年1月4日 下午2:15:38 @throws */ public static List<File> getallfile(File file, List<File> allfilelist) { if (file.exists()) { //判斷文件是否是文件夾,如果是,開始遞歸 if (file.isDirectory()) { File f[] = file.listFiles();for (File file2 : f) { getallfile(file2, allfilelist); } } else { allfilelist.add(file); } } return allfilelist; } public static void main(String[] args) { List<File> list = getallfile("D:\\z"); for (File file : list) { System.out.println(file.getCanonicalPath()); } } }
輸出為:
D:\z\zz\file\1.txt
D:\z\zz\file\2.txt
D:\z\zz\file\新建文件夾\1.txt
D:\z\zz\file\新建文件夾\2.txt
D:\z\zz\新建文件夾\1.txt
D:\z\zz\新建文件夾\2.txt
二 . 遞歸計算文件數量
package com.ncy.test; import java.io.File; /** * 遞歸計算文件數量 * @author NCY * */ public class DirTest{ public static int getCountFile(File file){ if (file.isDirectory()) { int countFile = 0; File[] files = file.listFiles(); for (File f : files) { countFile += getCountFile(f); } return countFile; }else if (file.isFile()) { return 1; } return 0; } public static void main(String[] args) { File file = new File("D:/z"); int countFile = getCountFile(file); System.out.println(countFile); } }
輸出為 :
6
關於文件的工具類例子