import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* 統計指定目錄下面的文件類型及數量
*
* @author Administrator
*
*/
public class FileCountTest {
// 定義靜態變量resultMap,存放文件類型和對應數量
public static final Map resultMap = new HashMap();
public static void main(String[] args) {
getFileType("D:\\MySQL\\");
// 獲取map中的key集合,遍歷map
Set> entrySet = resultMap.entrySet();
Iterator> it = entrySet.iterator();
while (it.hasNext()) {
Entry entry = it.next();
System.out.println(entry.getKey() +"=" + entry.getValue());
}
}
/**
* 獲取指定路徑下的文件類型及數量
* @param path 磁盤路徑
*/
public static void getFileType(String path) {
File file =new File(path);
// 判斷path路徑是否存在
if (!file.exists()) {
return ;
}
// 獲取path路徑的文件列表,並遍歷文件列表
File[] fileList = file.listFiles();
for (File fileTemp : fileList) {
// 如果當前File是文件
if (fileTemp.isFile()) {
// 截取文件後綴名
String endTemp = fileTemp.getName().substring(fileTemp.getName().lastIndexOf(".") + 1);
Integer num = resultMap.get(endTemp);
if (num == null) {
resultMap.put(endTemp,1);
}else {
resultMap.put(endTemp, num +1);
}
}
// 如果當前File是目錄
if (fileTemp.isDirectory()) {
// 遞歸調用getFileType()方法
String pathTemp = fileTemp.getAbsolutePath();
getFileType(pathTemp);
}
}
}
}
File 類集框架編程(統計指定目錄下面的文件類型及數量)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.