java删除文件夹
2015-12-16 14:30
411 查看
java删除文件夹
方法一:代码 private static void deleteFile(File file){ if(file.isDirectory()){ File[] files = file.listFiles(); for(int i=0; i<files.length; i++){ deleteFile(files[i]); } } file.delete(); }
方法二:
commons-io: FileUtils
代码 private static void deleteFile(String targetPath){ File targetFile = new File(targetPath); if (targetFile.isDirectory()) { FileUtils.deleteDirectory(targetFile); } else if (targetFile.isFile()) { targetFile.delete(); } }
扩展:
commons-io是一款处理io的工具。包括:1. io工具类
除了上述提到的FileUtiles,io工具类还有IOUtils,FilenameUtils,FileSystemUtils四种工具类。FileSystemUtils包含了一些JDK没有提供的用于访问文件系统的实用方法。
FileUtiles 主要功能如下:
writing to a file
reading from a file
make a directory including parent directories
copying files and directories
deleting files and directories
converting to and from a URL
listing files and directories by filter and extension
comparing file content
file last changed date
calculating a checksum
复制文件:
FileUtils.copyFileToDirectory(resFile, distFile);
删除文件:
if (targetFile.isDirectory()) { FileUtils.deleteDirectory(targetFile); } else if (targetFile.isFile()) { targetFile.delete(); }
读文件
String content = FileUtils.readFileToString(srcFile); List<String> contents = FileUtils.readLines(srcFile);
写入文件:
FileUtils.writeStringToFile(srcFile, "\nyes文件", true);
2. 文件过滤器
org.apache.commons.io.filefilter包定义了一个合并了java.io.FileFilte*r以及*java.io.FilenameFilter的接口(IOFileFilter)。除此之外,这个包还提供了一系列直接可用的IOFileFilter的实现类,可以通过他们合并其它的文件过滤器。比如,这些文件过滤器可以在列出文件时使用或者在使用文件对话框时使用。
代码 /** * 空内容文件过滤器 */ public void testEmptyFileFilter(){ File dir = new File(basePath); String[] files = dir.list(EmptyFileFilter.NOT_EMPTY); for (String file : files) { System.out.println(file); } } /** * 文件名称后缀过滤器 */ public void testSuffixFileFilter(){ File dir = new File(basePath); String[] files = dir.list(new SuffixFileFilter("a.txt")); for (String file : files) { System.out.println(file); } }
3. 文件监控器
这个org.apache.commons.io.monitor 包中的工具类可以监视文件或者目录的变化,获得指定文件或者目录的相关信息。
4. 文件比较器
可以使用这些比较器对文件集合或数组进行排序。
代码 /** * 文件排序:根据文件名排序 */ public void testCompositeFileComparator() { File dir = new File(basePath); File [] files = dir.listFiles(); for (File file : files) { System.out.println(file.getName()); } CompositeFileComparator cfc = new CompositeFileComparator( DirectoryFileComparator.DIRECTORY_COMPARATOR, NameFileComparator.NAME_COMPARATOR); cfc.sort(files); System.out.println("*****after sort*****"); for (File file : files) { System.out.println(file.getName()); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统