java fileutil
import java.io.File;
import java.util.ArrayList;
public class FileUtil {
/**
* 得到目錄下的檔案清單
* @param strPath 目錄
* @return 檔案清單
*/
public static ArrayList getFileList(String strPath) {
ArrayList filelist=null;
return getFileList(strPath,filelist);
}
private static ArrayList getFileList(String strPath,ArrayList filelist) {
if(filelist==null){
filelist = new ArrayList();
}
File dir = new File(strPath);
File[] files = dir.listFiles();
if (files == null) return null;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
getFileList(files[i].getAbsolutePath(),filelist);
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
//System.out.println("---"+strFileName);
filelist.add(files[i].getAbsolutePath());
}
}
return filelist;
}
/**
* 得到目錄下的指定類型的檔案清單
* @param strPath 目錄
* @param suffix 檔案尾碼 如"zip"
* @return 檔案清單
*/
public static ArrayList getFileList(String strPath,String suffix) {
ArrayList filelist=null;
return getFileList(strPath,suffix,filelist);
}
private static ArrayList getFileList(String strPath,String suffix,ArrayList filelist) {
if(filelist==null){
filelist = new ArrayList();
}
File dir = new File(strPath);
File[] files = dir.listFiles();
if (files == null) return null;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
getFileList(files[i].getAbsolutePath(),suffix,filelist);
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
if(FileUtil.getFileSuffix(strFileName).toLowerCase().equals(suffix)){
filelist.add(files[i].getAbsolutePath());
}
}
}
return filelist;
}
/**
* 得到檔案尾碼名
* @param fileName 完整檔案名稱
* @return
*/
public static String getFileSuffix(String fileName) {
File f =new File(fileName);
String name=f.getName();
return name.substring(name.lastIndexOf(".")+1);
}
/**
* 得到檔案名稱
* @param fileName 完整檔案名稱
* @return
*/
public static String getFileName(String fileName) {
File f =new File(fileName);
return f.getName();
}
/**
* 得到無尾碼的檔案名稱
* @param fileName 完整檔案名稱
* @return
*/
public static String getFileNameWithoutSuffix(String fileName) {
File f =new File(fileName);
String name=f.getName();
return name.substring(0,name.lastIndexOf("."));
}
/**
* 得到去除檔案尾碼名後的檔案路徑,可作為解壓後路徑
* 如 in: e:/test.zip out:e:/test
* @param fileName 完整檔案名稱
* @return
*/
public static String getFilePathWithoutSuffix(String fileName) {
return fileName.substring(0,fileName.lastIndexOf("."));
}
}