您的位置:首页 > 编程语言 > Java开发

java 读取某个文件夹下的所有文件夹和文件, 返回所有文件名

2017-03-20 00:00 393 查看
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class FileUtil {

private static final Log logger = LogFactory.getLog(FileUtil.class);

/**
* 删除某个文件夹下的所有文件夹和文件
* @param delpath String
* @throws FileNotFoundException
* @throws IOException
* @return boolean
*/
public static boolean deletefile(String delpath) throws FileNotFoundException,
IOException {
try {

File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
}
else if (file.isDirectory()) {
System.out.println("2");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(delpath + "" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath=" + delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("删除文件成功");
}
else if (delfile.isDirectory()) {
deletefile(delpath + "" + filelist[i]);
}
}
file.delete();

}

}
catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}

/**
*
* 读取某个文件夹下的所有文件夹和文件, 返回所有文件名
* @param filepath String
* @throws FileNotFoundException
* @throws IOException
* @return Map<Integer, String> pathMap
*
*/
public static Map<Integer, String> readfile(String filepath, Map<Integer, String> pathMap) throws Exception {
if (pathMap == null) {
pathMap = new HashMap<Integer, String>();
}

File file = new File(filepath);
// 文件
if (!file.isDirectory()) {
pathMap.put(pathMap.size(), file.getPath());

} else if (file.isDirectory()) { // 如果是目录, 遍历所有子目录取出所有文件名
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "/" + filelist[i]);
if (!readfile.isDirectory()) {
pathMap.put(pathMap.size(), readfile.getPath());

} else if (readfile.isDirectory()) { // 子目录的目录
readfile(filepath + "/" + filelist[i], pathMap);
}
}
}
return pathMap;
}

public static void main(String[] args) {
try {
Map<Integer, String> map = readfile("E:/temp/0813", null);
for(int i=0 ; i < map.size(); i++) {
System.out.println(map.get(i));
}
// deletefile("D:/file");
}
catch (Exception ex) {
}
System.out.println("ok");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  FileInfo