資源簡介
Java版本軟著源代碼整理工具,最近在申請軟著20個,要準備源代碼,還要刪注釋刪空格,一個60頁我想死了,工欲善其事必先利其,還是寫個代碼跑快點,網上參考了下,修修改改寫了個,還沒怎么測試各位多包涵,支持多文件、多文件夾。源代碼都開放的,我都是在eclipse里用main方法直接跑。輸出是個txt,懶得搞word了,我放了個源代碼的word模版,復制進去就行了格式都是調過的一頁50行。順便還放個軟件使用說明書的模板大家參考下

代碼片段和文件信息
package?com.jl.tool;
/**
?* 去除原文件的注釋和空行生成軟著源碼
?*??author?徐志軍
?*/
import?java.io.BufferedReader;
import?java.io.BufferedWriter;
import?java.io.File;
import?java.io.FileReader;
import?java.io.FileWriter;
import?java.io.IOException;
import?java.util.ArrayList;
import?java.util.List;
public?class?CleanCodeComments?{
//?COMMENCODES為普通代碼模式PRECOMMENTS為斜杠模式MORELINECOMMENTS為多行注釋模式
//?STARMODEL為多行注釋下星號模式,SINGLELINECOMMENTS為單行注釋模式,STRINGMODEL為字符串模式,
//?TRANSFERMODEL為字符串轉義模式
private?enum?model?{
COMMENCODES?PRECOMMENTS?MORELINECOMMENTS?STARMODEL?SINGLELINECOMMENTS?STRINGMODEL?TRANSFERMODEL
}
//?stats記錄狀態
private?static?model?stats?=?model.COMMENCODES;
public?static?void?main(String[]?args)?throws?Exception?{
System.out.println(“見證奇跡的時刻,清洗代碼開始!“);
????????String?codeListFile?=?System.getProperty(“user.dir“)?+?“\\bin\\“?+?“code_files.txt“;
System.out.println(“1、配置文件目錄:“);
System.out.println(codeListFile);
List?codeFiles?=?loadFileList(codeListFile);
???????//定義輸出目錄
????????String?FileOut=“C:\\Users\\pro\\Desktop\\“+System.currentTimeMillis()+“.txt“;
????????BufferedWriter?bw=new?BufferedWriter(new?FileWriter(FileOut));
for?(String?fileName?:?codeFiles)?{
if?(fileName?==?null?||?fileName.trim().length()?==?0)?{
continue;
}
if?(fileName.startsWith(“#“))?{//?#標記為注釋文件不處理
continue;
}
String?codeStr?=?cleanCodeComments(fileName);
if(codeStr!=null?&&?codeStr.length()>0)?{
bw.append(codeStr);
}
}
????????bw.close();
????????System.out.println(“3、清洗完成,輸出到:“);
????????System.out.println(FileOut);
}
public?static?String?cleanCodeComments(String?fileName)?throws?IOException?{
File?file?=?new?File(fileName);
if?(!file.exists())?{
return?““;
}
BufferedReader?br?=?new?BufferedReader(new?FileReader(file));
StringBuilder?sb?=?new?StringBuilder();
int?n;
while?((n?=?br.read())?!=?-1)?{
switch?((char)?n)?{
case?‘/‘:
if?(stats?==?model.COMMENCODES)?{//?如果當前位普通代碼模式則轉到斜杠模式
stats?=?model.PRECOMMENTS;
}?else?if?(stats?==?model.PRECOMMENTS)?{//?如果當前為斜杠模式則轉到單行注釋模式
stats?=?model.SINGLELINECOMMENTS;
sb.append(““);
}?else?if?(stats?==?model.MORELINECOMMENTS)?{//
sb.append(““);
}?else?if?(stats?==?model.STARMODEL)?{//?如果當前為星號模式則轉到普通代碼模式
stats?=?model.COMMENCODES;
sb.append(““);
}?else?if?(stats?==?model.SINGLELINECOMMENTS)?{
sb.append(““);
}?else?if?(stats?==?model.STRINGMODEL)?{
sb.append(“/“);
}?else?if?(stats?==?model.TRANSFERMODEL)?{
stats?=?model.STRINGMODEL;
sb.append(“/“);
}
break;
case?‘*‘:
if?(stats?==?model.COMMENCODES)?{
sb.append(“*“);
}?else?if?(stats?==?model.PRECOMMENTS)?{//?如果為斜杠模式則轉到多行注釋模式
stats?=?model.MORELINECOMMENTS;
sb.append(““);
}?else?if?(stats?==?model.MORELINECOMMENTS)?{//?如果當前為多行注釋模式則轉到星號模式
stats?=?model.STARMODEL;
sb.append(““);
}?else?i
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9807??2019-06-19?16:30??軟著代碼整理\CleanCodeComments.java
?????文件????????345??2019-06-19?16:35??軟著代碼整理\code_files.txt
?????文件??????18733??2019-06-19?16:53??軟著代碼整理\源碼模板.docx
?????文件?????400048??2019-06-19?16:52??軟著代碼整理\軟著使用說明書模板.docx
?????目錄??????????0??2019-06-19?16:53??軟著代碼整理
-----------?---------??----------?-----??----
???????????????428933????????????????????5
評論
共有 條評論