File 類集框架編程(統計指定目錄下面的文件類型及數量)

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);  

            }  

        }  

    }  

}  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章