我们九天鸟的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

Java工具类:给程序增加版权信息的更多相关文章

  1. [C#] 常用工具类——应用程序属性信息访问类

    using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespac ...

  2. Java工具类——通过配置XML验证Map

    Java工具类--通过配置XML验证Map 背景 在JavaWeb项目中,接收前端过来的参数时通常是使用我们的实体类进行接收的.但是呢,我们不能去决定已经搭建好的框架是怎么样的,在我接触的框架中有一种 ...

  3. 16 个超级实用的 Java 工具类

    阅读本文大概需要 4 分钟. 出处:alterem juejin.im/post/5d4a25b351882505c105cc6e 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用 ...

  4. 干货:排名前 16 的 Java 工具类!

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  5. java工具类系列 (四.SerializationUtils)

    java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Se ...

  6. 排名前 16 的 Java 工具类

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  7. 排名前16的Java工具类

    原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法 ...

  8. 第一章 Java工具类目录

    在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...

  9. java工具类之按对象中某属性排序

    import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...

随机推荐

  1. ubuntu-date命令的使用

    date命令是关于时间的命令.它可以用来查看.更改系统时间 它的基本格式为 date "+ %H" 注意 "+"是不可以省略的.结果如下 zhangshuli@ ...

  2. js上传文件(图片)的格式和大小限制

    如果你想快速解决这个问题,看本文就够了.查了好多资料,终于解决了,太耗时间了,本文留给给后来者,希望你们工作的更轻松 本文保存为.html文件用浏览器打开即可测试功能 <form id=&quo ...

  3. 洛谷 P1068 分数线划定

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  4. js进阶 14-9 ajax事件有哪些

    js进阶 14-9 ajax事件有哪些 一.总结 一句话总结:ajax开始时事件.发送时事件,请求完成时事件,请求成功时事件,请求结束时事件,请求错误时事件事件. 1.ajax事件的监听对象是谁? 都 ...

  5. 1.IntelliJ IDEA搭建SpringBoot的小Demo

    转自:http://www.cnblogs.com/weizaibug/p/6657077.html 首先简单介绍下Spring Boot,来自度娘百科:Spring Boot是由Pivotal团队提 ...

  6. 1.namesapce用法

    namespace用法示例 #include <iostream> using namespace std; //定义域名空间 namespace myspace { ; void sho ...

  7. CentOS6.X安装10G需要额外安装的软件包

    yum -y install libXp yum -y install libXp.i686 yum -y install libXtst.i686

  8. 查看网站使用何种框架或者技术的插件——Wappalyzer

    Wappalyzer这款插件很强大,可以查看任何网站使用的技术,包括后端语言框架和前端语言框架.还有服务器是何种类型.甚至各种版本... 插件官网:https://wappalyzer.com/

  9. Android 关于java.util.NoSuchElementException错误

    写了一个从A文件复制到B文件的例子,其中要求去掉重复的行. 于是想到了Set,这本来是很容易的事情,结果在向外写数据时抱错 Java.util.NoSuchElementException 网络上反复 ...

  10. JS学习笔记 - 面向对象 - 选项卡 (普通选项卡改写)

    选项卡3 <script> window.onload=function () { new TabSwitch('div1'); }; function TabSwitch(id) // ...