这几天在做一个很烦很无脑的工作,就是其中有一个环节就是从java代码中提取java bean 字段的注释信息,然后将其填到数据库中,然后把sql语言和字段信息整理成文档,放在平台研发手册里面。数据量很大,然后就想着一些比较简答的方法,这里是一个从java代码中提取注释区的汉字。
我是直接将代码复制添加到一个字符串里面,然后根据其特征使用split截取字符串 并且选出有用的 然后打印到控制台,这样我就可以一次从控制台拿到所有的注释了,不用一个一个复制了。也行还有更聪明的方法,以后想到再说。
代码很简单,直接贴出来了,以后如果有用到可以直接拿着(我祈祷以后不会再做这种任务了)
public class Transform {
public static void main(String[] args) {
String str=
" GROUP_NAME as \"groupName\", <!-- 用户组名称 -->\r\n" +
" CREATE_TIME as \"createTime\", <!-- 任务执行人名称 -->\r\n" +
" DUE_DATE as \"dueDate\", <!-- 评审意见 -->\r\n" +
" MONITOR_STATUS as \"monitorStatus\", <!-- 报警状态 -->\r\n" +
" IS_ACTIVITY as \"isActivity\", <!-- 是否活动 -->\r\n" +
" REC_CREATOR as \"recCreator\", <!-- 记录创建责任者 -->\r\n" +
" REC_CREATE_TIME as \"recCreateTime\", <!-- 记录创建时刻 -->\r\n" +
" REC_REVISOR as \"recRevisor\", <!-- 记录修改责任者 -->\r\n" +
" REC_REVISE_TIME as \"recReviseTime\", <!-- 记录修改时刻 -->\r\n" +
" ARCHIVE_FLAG as \"archiveFlag\" <!-- 归档标记 -->";
String[] split = str.split("<!--");
List<String> list=new ArrayList<>();
for (int i = 0; i < split.length; i++) {
String[] s=split[i].split("-->");
for (int j = 0; j < s.length; j++) {
//中文占两个字节,英文占一个字节
if(s[j].length() != s[j].getBytes().length) {
list.add(s[j]);
}
}
}
for (String string : list) {
System.out.println(string.trim());
}
}
}