列出目錄下所有文件包括子目錄的文件路徑-采用遞歸方式
/**
* 列出目錄下所有文件包括子目錄的文件路徑
* @param dirName
* 文件夾的文件路徑
*/
public static void imageScan(String dirName
) {
// 如果dir不以文件分隔符結尾,自動添加文件分隔符。
if (!dirName.endsWith(File.separator)) {
dirName = dirName + File.separator;
}
File dirFile = new File(dirName);
// 如果dir對應的文件不存在,或者不是一個文件夾,則退出
if (!dirFile.exists() || (!dirFile.isDirectory())) {
System.out.println("List失敗!找不到目錄:" + dirName);
return;
}
// 列出源文件夾下所有文件(包括子目錄)
File[] files = dirFile.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].canRead()) // 能讀
{
// 開始
if (files[i].isFile()) {
//System.out.println(files[i].getAbsolutePath() + " 是文件!");
String filename = files[i].getName();
String fullpath = files[i].getPath();
String code=getFileName(filename);
String format=getExitName(files[i].getName());
long filesize=files[i].length();
String dirname=files[i].getParent();
System.out.println("path:"+files[i].getAbsolutePath());
System.out.println("format:"+format);
//System.out.println("filename:"+code);
} else if (files[i].isDirectory()) {
ImageScan.imageScan(files[i].getAbsolutePath());
}
// 結束
} else // 不能讀
{
}
// /////////////////////////
}
}
// /////////////////
public static String getpostfix(String fname) {
String postfix = null;
if (fname == null)
return "";
if (fname.indexOf(".") != -1) {
postfix = fname.substring(fname.indexOf("."));
} else {
return "非法文件名";
}
return postfix;
}
public static String getFileName(String fname) {
String postfix = null;
if (fname == null)
return "";
if (fname.indexOf(".") != -1) {
postfix = fname.substring(0,fname.indexOf("."));
} else {
return "非法文件名";
}
return postfix;
}
public static String getExitName(String fname) {
String postfix = null;
if (fname == null)
return "";
if (fname.indexOf(".") != -1) {
postfix = fname.substring(fname.indexOf("."));
} else {
return "非法文件名";
}
return postfix;
}
最後更新:2017-04-02 06:51:30
上一篇:
分布式數據庫和集群項目
下一篇:
magento -- 給Magento提速之緩存上的探索
HBase寫性能初步測試
C# 連接SQLServer數據庫及登錄驗證知識
Antergos:基於 Arch 發行版,想要嚐試 Arch 的絕對值得一試
“即刻搜索”使用率幾乎為零
專訪技術達人Patrick Chanezon:如衝浪一般隨時代而行,容器創造了截然不同的軟件構件模式
大道至簡:讓你頓悟創建型設計模式
你的變量究竟存儲在什麼地方 && 全局內存
WebP 支持:超乎你想象
筆記:Driving Architectural Simplicity - The Value, Challenge, and Practice of Simple Solutions
理解Android的手勢識別