`

删除指定目录下指定类型的文件操作

 
阅读更多

 

import java.io.File;

public class FileManager {
	public static void listRoots() {
		// 将根目录存入File数组roots中
		File[] roots = File.listRoots();
		// 打印出根目录
		try {
			for (int i = 0; i < roots.length; i++) {
				System.out.println("======================================");
				System.out.println("根目录" + roots[i] + "的文件列表:");
				// System.out.println("该目录的容量为:"+roots[i].length());只有文件才有此方法才会返回字节长度,目录为0
				System.out.println("======================================\n");
				// 打印出根目录下的文件
				File[] rootfile = roots[i].listFiles();
				if(rootfile!=null){
					for (File rf : rootfile) {
						System.out.println(rf);
					}
				}
			}
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}

	// 删除指定文件或一些文件
	public void deleteFiles(String path, String inname, String inextension) {
		boolean status = true;
		FileManagerFilter fmf = new FileManagerFilter(inname, inextension);
		File file = new File(path);
		File[] filelist = file.listFiles(fmf);
		// System.out.println(filelist.length); 此语句用于测试
		if (filelist.length != 0) {
			System.out.println("**************删除文件*************");
			for (File fl : filelist) {
				// boolean delfil = fl.delete();
				System.out.println(fl + (fl.delete() ? " 成功" : " 没有成功")
						+ "被删除!");
			}
		} else {
			System.out.println("根据您所给的条件,没有找到要删除的文件!");
		}
	}

	// 删除所有目录下所有文件,但是目录没有删除,哈哈其实效果一样
	public void deletAllFile() {
		FileManager fm = new FileManager();
		File[] roots = File.listRoots();
		for (int i = 0; i < roots.length; i++) {
			if (roots[i].isDirectory()) {
				fm.deleteFiles(roots[i].toString(), "*", "*");
			}
		}
	}

	public static void main(String args[]) {
//		FileManager.listRoots();
		FileManager fm = new FileManager();
		// 此句表示删除d:/test2下的所有以"t"开头的,以"java"结尾的文件
		// *表示任意
		fm.deleteFiles("d:/test2", "*", "java");
		// 删除所有目录下文件, 请慎用此方法!!!!!!!!!!!!!!!!!
//		fm.deletAllFile();
	}
}

 

 下来给个file过滤类

 

import java.io.File;
import java.io.FilenameFilter;

public class FileManagerFilter implements FilenameFilter {
	private String name;
	private String extension;

	public FileManagerFilter(String name, String extension) {
		this.name = name;
		this.extension = extension;
	}

	public boolean accept(File dir, String filename) {
		boolean fileOK = true;
		if (name == "*" && extension == "*") {
			return fileOK = true;
		}
		if (name != null) {
			// 不大解理"&="的运行过程,
			if(name != "*") {
				fileOK &= filename.startsWith(name);
			}
		}
		if (extension != null) {
			fileOK &= filename.endsWith('.' + extension);
		}
		return fileOK;
	}
}
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics