zoukankan      html  css  js  c++  java
  • Java工具类:给程序增加版权信息

       我们九天鸟的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 = "/*
     *Copyright © 2015 JiuTianNiao
     "
    					+ "*武汉九天鸟科技有限公司
     " + "*http://JiuTianNiao.com
     "
    					+ "*All rights reserved.
     */
    ";
                //尝试使用了RandomAccessFile.writeUTF,问题是开头字符是“NUL”,没能解决。
    			BufferedReader br = new BufferedReader(new FileReader(file));
    			String line;
    			String content = "";
    			//读取一行,一定要加上“换行符”,Windows下可以直接用“
    ”
    			String lineSeperator ="
    ";
    			//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

  • 相关阅读:
    springboot2 整合雪花算法,并兼容分布式部署
    docker 在 linux 搭建私有仓库
    jdbc 几种关系型数据库的连接 和 driver_class,以及简单的使用
    springboot2 整合发送邮件的功能
    oracle 唯一新约束 和 逻辑删除的 冲突处理办法
    oracle 一些常见操作方法
    spring-cloud-stream 整合 rabbitmq
    springboot2 整合 rabbitmq
    docker 安装 rabbitmq 消息队列
    网络统计学目录
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462756.html
Copyright © 2011-2022 走看看