Java实现批量删除CVS目录
CVS没有SVN的export操作,想要得到纯净的源代码比较麻烦,现用Java编了个小程序可以自动删除源文件夹里的CVS目录,同时记录所有源文件的信息。
import java.io.File; import java.util.LinkedList; /** * <p>RemoveCVS.java</p> * <p>Created on Apr 20, 2009, 9:01:19 AM</p> * <p>Copyright (c) 2007-2009. CUCKOO Workgroup, USTC, P.R.China</p> * @author Ren Jian */ public class RemoveCVS { public RemoveCVS(String srcFolderPath) { LinkedList folderList = new LinkedList(); File firstLevel = new File(srcFolderPath); File fileList[] = firstLevel.listFiles(); for (int i = 0; i < fileList.length; i++) { if (fileList[i].isDirectory()) { if (!fileList[i].getName().equals("CVS")) { folderList.add(fileList[i]); } else { removeDir(fileList[i]); } } else { System.out.println(fileList[i].getAbsolutePath()); } } File tempFile; while (!folderList.isEmpty()) { tempFile = (File) folderList.removeFirst(); if (tempFile.isDirectory()) { fileList = tempFile.listFiles(); if (fileList == null) { continue; } for (int i = 0; i < fileList.length; i++) { if (fileList[i].isDirectory()) { if (!fileList[i].getName().equals("CVS")) { folderList.add(fileList[i]); } else { removeDir(fileList[i]); } } else { System.out.println(fileList[i].getAbsolutePath()); } } } else { System.out.println(tempFile.getAbsolutePath()); } } } private void removeDir(File cvsFolder) { File[] fileList = cvsFolder.listFiles(); for (int i = 0; i < fileList.length; i++) { File file = fileList[i]; if (file.isDirectory()) { removeDir(file); } else { file.delete(); } } cvsFolder.delete(); } public static void main(String[] args) { new RemoveCVS("E:/src"); } }
把代码中的“CVS”改成“SVN”也可以删除Subversion的目录了。