Java工具类:给程序增加版权信息
现在,想给后端的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();
} }
}
Java工具类:给程序增加版权信息的更多相关文章
- [C#] 常用工具类——应用程序属性信息访问类
using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespac ...
- Java工具类——通过配置XML验证Map
Java工具类--通过配置XML验证Map 背景 在JavaWeb项目中,接收前端过来的参数时通常是使用我们的实体类进行接收的.但是呢,我们不能去决定已经搭建好的框架是怎么样的,在我接触的框架中有一种 ...
- 16 个超级实用的 Java 工具类
阅读本文大概需要 4 分钟. 出处:alterem juejin.im/post/5d4a25b351882505c105cc6e 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用 ...
- 干货:排名前 16 的 Java 工具类!
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...
- java工具类系列 (四.SerializationUtils)
java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Se ...
- 排名前 16 的 Java 工具类
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...
- 排名前16的Java工具类
原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法 ...
- 第一章 Java工具类目录
在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...
- java工具类之按对象中某属性排序
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...
随机推荐
- 深入理解Java内存模型--转载
原文地址:http://www.infoq.com/cn/articles/java-memory-model-1 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之 ...
- golang 函数作为类型
golang 函数作为类型 package main import "fmt" type A func(int, int) func (f A)Serve() { fmt.Prin ...
- 解决vmware 和hyper-v不能共存的问题
只需在 Windows 中以管理员身份运行命令提示符 cmd 1.运行 bcdedit /copy {current} /d "Windows 8 (关闭 Hyper-V)"命令, ...
- 三菱FX系列PLC学习
1.PLC工作原理 PLC将程序存储在用户存储器当中, 驱动其运行, 相对比微型计算机软件, PLC程序则不同的是, 微型计算机整个流程则是从规定的开始 至结束完整工作流程.相对与PLC运行,则是从位 ...
- SFC梯形图编程
SFC是居首的PLC编程语言 !: 不能为PLC所执行, 还需要其他的编程语言(梯形图) 转换成PLC可执行程序. 常用的SFC编程方法有三种 > 应用启保停电路进行 > 应用 置/复 ...
- CODEVS——T1519 过路费
http://codevs.cn/problem/1519/ 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Desc ...
- MSDN上的异步socket 服务端例子
MSDN上的异步socket 服务端例子 2006-11-22 17:12:01| 分类: 代码学习 | 标签: |字号大中小 订阅 Imports SystemImports Syste ...
- (转)iptables常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链
转自:http://lesca.me/archives/iptables-examples.html 本文介绍25个常用的iptables用法.如果你对iptables还不甚了解,可以参考上一篇ipt ...
- centos7 分区满了,分析哪个目录或文件占用空间-小叶-51CTO博客
原文:centos7 分区满了,分析哪个目录或文件占用空间-小叶-51CTO博客 du -sh 例如: [root@zabbix ~]# du -sh /var/* 0 /var/adm 132M / ...
- 去哪网实习总结:用到的easyui组件总结(JavaWeb)
本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发... 只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果.. . 实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题,分享 ...