Java工具類:給程式增加版權資訊

小雷FansUnion發表於2015-05-02

   我們九天鳥的p2p網貸系統,基本算是開發完成了。
   現在,想給後端的Java程式碼,增加版權資訊。
   手動去copy-paste,太沒有技術含量。

   於是,寫了個Java工具類,給Java原始檔增加版權資訊。
   原始碼,開頭的註釋,就是版權描述。詳細實現,就看程式碼吧。

 
 /*
 *Copyright © 2015 JiuTianNiao
 *武漢九天鳥科技有限公司
 *http://JiuTianNiao.com
 *All rights reserved.
 */
package com.jiutianniao.p2p.base.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

import org.apache.log4j.Logger;

//給java檔案,增加版權資訊
public class CopyrightUtil {
	private static Logger log = Logger.getLogger(CopyrightUtil.class);

	public static void main(String[] args) throws Exception {
		//java檔案所在目錄
		String dir = "E:/GitRepository/funds";
		File file = new File(dir);
		addCopyright4Directory(file);
	}

	public static void addCopyright4Directory(File file) throws Exception {
		File[] files = file.listFiles();
		if (files == null || files.length == 0){
			return;
		}

		for (File f : files) {
			if (f.isFile()) {
				addCopyright4File(f);
				System.out.println("檔案===" + f.getName());
			} else {
				System.out.println("目錄==" + f.getName());
				addCopyright4Directory(f);
			}
		}
	}

	public static void addCopyright4File(File file) throws Exception {
		String fileName = file.getName();
		boolean isJava = fileName.endsWith(".java");
		if (!isJava) {
			log.info("This file is not java source file,filaName=" + fileName);
			return;
		}

		if (isJava) {
			// 版權字串
			String copyright = "/*\n *Copyright © 2015 JiuTianNiao\n "
					+ "*武漢九天鳥科技有限公司\n " + "*http://JiuTianNiao.com\n "
					+ "*All rights reserved.\n */\n";
            //嘗試使用了RandomAccessFile.writeUTF,問題是開頭字元是“NUL”,沒能解決。
			BufferedReader br = new BufferedReader(new FileReader(file));
			String line;
			String content = "";
			//讀取一行,一定要加上“換行符”,Windows下可以直接用“\n”
			String lineSeperator ="\n";
			//lineSeperator = System.getProperty("line.separator")
			while ((line = br.readLine()) != null) {
				content += line + lineSeperator;
			}
			br.close();
	        //把拼接後的字串寫回去
			FileWriter fileWriter = new FileWriter(file);
			fileWriter.write(copyright);
			fileWriter.write(content);
			fileWriter.close();	
		}

	}
}

   武漢九天鳥-p2p網貸系統開發-網際網路應用軟體開發
  公司官網:http://jiutianniao.com
  社交問答:http://ask.jiutianniao.com

相關文章