提交软著需要60页的源代码(不足60页的把代码全部提交),每页要固定50行,有前端的是前后端各30页。
但是代码里有很多换行啊…一个个去删除太麻烦。
于是我写了个Java脚本,功能是:删除代码文件里的换行符并且把众多代码文件合并成一个代码文件(这样直接复制生成的代码文件放到软著源代码材料文档里就好啦)
import java.io.*;
public class RuanZhu {
// 设置代码文件所在的路径(最好是把源代码文件,什么class、c、py、vue、html文件等等,拷贝到一个专门的文件夹下,
// 免得程序把框架里的东西也读出来了!!!)
public static String baseUrl = "C:\\Users\\Lenovo\\Desktop\\新建文件夹\\api\\sys";
public static void main(String[] args){
methodName(baseUrl);
}
//读取某个路径下的文件名
public static void methodName(String filePath){
//获取文件路径所指向的文件
File file = new File(filePath);
System.out.println(filePath);
//获取文件夹下所有的文件
File[] files = file.listFiles();
//遍历获取到的文件,如果是文件夹则继续向下获取
for (File file1 : files) {
String url = filePath;
//如果是文件夹,url往下增加一级
if (file1.isDirectory()) {
url += "\\"+file1.getName();
//继续获取文件
methodName(url);
}else {
String name1 = file1.getName();
String content = readFileContent(filePath+"\\"+name1);
System.out.println(name1);
inputFile(content);
}
}
System.out.println("结束!");
}
//处理str字段
public static String handleStrWins(String str){
str = str.substring(0, str.indexOf(".")).replace(" ","")
.replace("、","")
.replace("/","");
return str;
}
/* @Title: readFileContent
* @Description: 读取文件内容
* @param filePath
* @return
*/
public static String readFileContent(String filePath) {
StringBuilder result = new StringBuilder();
try {
// BufferedReader bfr = new BufferedReader(new FileReader(new File(filePath)));
BufferedReader bfr = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8"));
String lineTxt = null;
while ((lineTxt = bfr.readLine()) != null) {
if (lineTxt.equals("") || lineTxt.equals(" "))
continue;
if (filePath.contains("html")){
lineTxt.replaceAll(" ","");//去除字符串中的空格,回车,换行符,制表符
System.out.println(lineTxt);
}
result.append(lineTxt).append("\n");
}
bfr.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
/**
* 把获取的字符串进行写入
* @param str
*/
public static void inputFile(String str){
FileWriter writer;
try {
//写到对应的文件下,这个文件就是取消空格合并代码生成的一个总文件
writer = new FileWriter("E:/ruanzhu.txt",true);
writer.write(str);
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最后点击行号,每页显示行号即可