`
bearjava
  • 浏览: 82255 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

构建CVS项目到Version One

    博客分类:
  • Java
阅读更多
以前用CVS的时候,一个新的项目需要频繁修改,还有很多文件、包、初始测试文件需要移除,这些对于项目搭建的辅助部分和正式的开发版本是不一样的,应该从DEV Version中移除,然后构建一个Version1的CVS项目。

记得刚开始大家都手动去删除Entries,Repository,Root这些东西,并且项目的任何一个位置都有这烦人的东东,后来我终于受不了,自己写了一个工具类来递归删除它们,重新构建Version1的项目。尽管现在自己开发时都用SVN不用CVS了,还是贴出来共享吧。 

public class DeleteFile {

	private static String NODIR = "目录不存在";
	
	private static String NOTARGETDIR = "您指定的目录没有找到CVS文件.";

	private static String FAILED = "Delete cvs failed.";

	private static String SUCCESS = "Delete cvs successful.";

	private static String TARGETDIR = "CVS";

	private static String[] targetFiles = new String[] { "Entries","Repository", "Root" };
	
	private int count = 0;

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public static void main(String[] args) {
		System.out.println("准备删除 "+args[0]+" 下的CVS文件...");
		System.out.println("Starting...");
		DeleteFile del = new DeleteFile();
		boolean flag = del.deleteDirectory(args[0]);
		if(flag && del.getCount()>0){
			System.out.println("-----------------------------");
			System.out.println(SUCCESS);
			System.out.println("共删除文件夹数量:"+del.getCount());
			System.out.println("共删除文件数量:"+del.getCount()*3);
		}
		else if(del.getCount()==0){
			System.out.println(NOTARGETDIR);
		}			
		else
			System.out.println(FAILED);
		System.out.println("The End.");
	}

	/**删除文件夹*/
	public boolean deleteDirectory(String dir) {		
		File dirFile = new File(dir);
		if (!dirFile.exists()) {
			System.out.println(NODIR);
			return false;
		}
		boolean flag = true;
		File[] files = dirFile.listFiles();
		for (int i = 0; i < files.length; i++) {
			if (files[i].isFile()) {
				if(isTargetFile(files[i].getName())){					
					flag = deleteFile(files[i].getAbsolutePath());
					if (!flag)
						break;
				}				
			}
			if (files[i].isDirectory()) {					
				flag = deleteDirectory(files[i].getAbsolutePath());
				if (!flag)
					break;				
			}
		}
		if(dirFile.getName().equals(TARGETDIR)){			
			System.out.println("deleting directory: "+dirFile.getAbsolutePath());			
			count++ ;
			flag = dirFile.delete();
		}			
		return flag;
	}
	
	/**删除文件*/
	public boolean deleteFile(String fileName) {		
		File file = new File(fileName);
		if (!file.exists()) {
			System.out.println(NODIR);
			return false;
		} 
		else {	
			System.out.println("deleting file: "+fileName+ "");
			return file.delete();
		}		
	}

	/**判断是否为目标文件*/
	public boolean isTargetFile(String fileName) {
		boolean flag = false;
		for (int i = 0; i < targetFiles.length; i++) {
			if (fileName.startsWith(targetFiles[i])) {				
				flag = true;
				break;
			}
		}
		return flag;
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics