删除.svn版本信息 java 类实现
来源:互联网 发布:java工程师考试报名 编辑:程序博客网 时间:2024/05/22 03:37
需要commons-io-2.0.1.jar包
package demo.wc.demo2;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Collection;import java.util.List;import org.apache.commons.io.DirectoryWalker;@SuppressWarnings("rawtypes")public class FileCleaner extends DirectoryWalker {public FileCleaner() {super();System.out.println("-------开始清除-------2");}public List<File> clean(File startDirectory) throws IOException {List<File> results = new ArrayList<File>();walk(startDirectory, results);System.out.println("-------开始清除-------3");return results;}@Overrideprotected void handleStart(File startDirectory, Collection results)throws IOException {System.out.println("-------开始清除-------1");}@Overrideprotected void handleEnd(Collection results) throws IOException {System.out.println("-------结束清除-------11");}@Overrideprotected void handleCancelled(File startDirectory, Collection results,CancelException cancel) throws IOException {System.out.println("-------清除异常-------0");super.handleCancelled(startDirectory, results, cancel);}@Overrideprotected boolean handleIsCancelled(File file, int depth, Collection results)throws IOException {// 这里可以设置断点,比如当你找到某个类的时候,停止遍历,默认继续System.out.println("-------开始清除-------4");return false;}@Overrideprotected void handleDirectoryStart(File directory, int depth,Collection results) throws IOException { System.out.println("****开始处理:"+directory.getName()+"deep:"+depth+"results:"+results.toString());System.out.println("-------开始清除-------5");}@Overrideprotected void handleDirectoryEnd(File directory, int depth,Collection results) throws IOException { System.out.println("****结束处理:"+directory.getName()+"deep:"+depth+"results:"+results.toString());System.out.println("-------开始清除-------6");}@Overrideprotected void handleRestricted(File directory, int depth,Collection results) throws IOException {System.out.println("****受限制目录:" + directory.getName() + "deep:" + depth+ "results:" + results.toString());System.out.println("-------开始清除-------7");}/** * 是否处理某个目录.返回false 不处理 * * @see 这里直接删除.svn.然后不处理. */@Overrideprotected boolean handleDirectory(File directory, int depth,Collection results) {// delete svn directories and then skipSystem.out.println("-------开始清除-------8");if (".svn".equals(directory.getName())) {deleteDirectory(directory, results);return false;} else {results.add(directory);// 删除.svn,还有哪些文件夹return true;}}/** * 删除文件,并把文件加到删除列表中 */@Overrideprotected void handleFile(File file, int depth, Collection results) {// delete file and add to list of deleted// file.delete();// results.add(file);// 删除.svn文件后,还有哪些文件System.out.println("-------开始清除-------9");}/** * 删除目录及目录下的文件夹和文件 * * @param directory * @param results */private void deleteDirectory(File directory, Collection results) {if (directory.isDirectory()) {File[] list = directory.listFiles();for (File file : list) {deleteDirectory(file, results);}}Log(directory.delete(), directory);results.add(directory);// 删除文件System.out.println("-------开始清除-------11");}/** * 删除文件或者目录失败日志 * * @param flag */private void Log(boolean flag, File directory) {if (!flag) {System.err.println("删除文件失败:" + directory.getAbsolutePath());} else {System.out.println("delete:" + directory.getAbsolutePath());}System.out.println("-------开始清除-------12");}/** * */public static void main(String[] args) throws IOException {// TODO Auto-generated method stubFileCleaner cleaner = new FileCleaner();//D:\MyWorkingCopy//D:\\workspace\\branches\\pamirsshop_branches_8-30File startDirectory = new File("D:\\MyWorkingCopy");List<File> list = cleaner.clean(startDirectory);for(File file:list){//System.out.println("file:"+file.getAbsolutePath());}System.out.println("共处理"+list.size()+"个文件");}}
0 0
- 删除.svn版本信息 java 类实现
- 删除SVN版本信息
- 删除SVN版本信息
- 删除svn版本信息
- svn版本信息的删除
- 删除SVN版本信息 .svn文件夹
- SVN版本信息批量删除方法
- 删除SVN、CVS等版本控制信息
- 如何删除SVN的版本信息
- 删除SVN、CVS版本控制信息
- Lniux和Windows下如何删除SVN版本信息?
- Eclipse中SVN版本信息的删除方法
- 删除获取svn控制的目录中的版本控制信息
- 简单的删除文件夹下svn版本信息
- 删除SVN信息
- 删除svn信息
- 删除项目SVN信息
- 右键删除SVN信息
- BaseTestLayer
- 游戏架构 云游戏(1)—云计算+弹性扩展
- crontab与手动执行不一致的解决方案
- init返回0说明初始化失败,其调用时间仅次与DllEntry,成多于一个的驱动程序实例时仅调用一次DllEntry,而xxx_Init会被调用多次,CreateFile与XXX_Open对应
- QueryPerformanceCounter 微秒计时程序
- 删除.svn版本信息 java 类实现
- arc
- ArcEngine IMap接口的用法
- 企业网站建设的六大价值
- 企业架构(EA)产生背景
- HBuilder:最快的Web开发IDE
- Git的深入理解与GitHub托管服务的使用
- 一些被忽视的 PHP 函数
- 已知二叉树的后序和中序排列,求先序排列再线索化的问题(笔试常考)