java文件操作类

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

 

posted @ 2010-12-11 23:48  因是因非  阅读(321)  评论(0编辑  收藏  举报