這幾天在做一個很煩很無腦的工作,就是其中有一個環節就是從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());
}
}
}