File的指定资料后缀的查找以及文件夹目录的创建

File的指定文件后缀的查找以及文件夹目录的创建1.关于文件夹目录的创建,直接上代码,亮点是方法的嵌套调用?

File的指定文件后缀的查找以及文件夹目录的创建

1.关于文件夹目录的创建,直接上代码,亮点是方法的嵌套调用

?

public class Main {private static String strFilePath = "E:\\kankan";public static void main(String[] args) {File file = new File(strFilePath, "aa");if(!file.exists()){try {createDirs(file);} catch (Exception e) {e.printStackTrace();}}}private static void createDirs(File file) {if(file == null || file.exists()) {return;}createDirs(file.getParentFile());file.mkdir();}}
?

?

?

2.关于指定目录文件的查找,直接上代码了,这个是偶自己写的,亮点是用了FilenameFilter:

?

?

package com.ant.test;import java.io.File;import java.io.FilenameFilter;import java.util.ArrayList;import java.util.List;/** * @author: antty * @time:2011-10-31 */public class Main {private static String strFilePath = "E:\\myDropbox\\Dropbox\\Public\\books";private static String[] bookType = new String[] { "txt", "pdf", "epub" };public static void main(String[] args) {getFiles(strFilePath);for (File file : getFiles(strFilePath)) {System.out.println(file.getName());}}private static List<File> getFiles(String fileDir) {List<File> result = new ArrayList<File>();filtFiles(fileDir, result);return result;}private static void filtFiles(String fileDir, List<File> result) {File file = new File(fileDir);File[] files = file.listFiles(new FileFilter());if (files != null && files.length > 0) {for (File f : files) {if (f.isFile()) {result.add(f);} else {filtFiles(f.getAbsolutePath(), result);}}}}private static class FileFilter implements FilenameFilter {public boolean accept(File file, String path) {File f = new File(file, path);if (f.isDirectory() && !strFilePath.equals(f.getAbsoluteFile())) {return true;}String ext = getExtension(path);if (isBookType(ext)) {return true;}return false;}private boolean isBookType(String _type) {for (String type : bookType) {if (type.equals(_type)) {return true;}}return false;}private String getExtension(String fileName) {if ((fileName != null) && (fileName.length() > 0)) {int index = fileName.lastIndexOf('.');if ((index > 0)) {return fileName.substring(index + 1).toLowerCase();}}return null;}}}