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("."));
}
}