分享两个最近工作上的趣事:
java 改成 Java []当我打开文章手动修改了一两次之后,突然觉得自己太机械化了,作为一名程序员,这种重复的劳动何不交给程序来做?文章一共十几篇,一个个修改的话,工作量还是有点大的。于是花了十几分钟,用 VSCode 写了一段 Java 程序:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.CharArrayWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.nio.charset.StandardCharsets;
public class Work {
public static void main(String args[]) {
work("C:\\Users\\文章所在文件夹路径\\");
}
public static void work(String path) {
File directory = new File(path);
for (File file : directory.listFiles()) {
if (file.isFile()) {
try (BufferedReader reader = new BufferedReader(new FileReader(file, StandardCharsets.UTF_8))) {
String line = reader.readLine();
CharArrayWriter tempStream = new CharArrayWriter();
while (line != null) {
if (line.matches(".*\\d\\.\\d\\.(\\s)?.*")) {
System.out.println(line + " replace to " + line.replaceAll("\\d\\.\\d\\.(\\s)?", ""));
}
if (line.contains("```java")) {
System.out.println(line + " replace to " + "```Java []");
}
tempStream.write(line.replaceAll("\\d\\.\\d\\.(\\s)?", "").replaceAll("```java", "```Java []") + System.getProperty("line.separator"));
line = reader.readLine();
}
try (FileWriter writer = new FileWriter(file)) {
tempStream.writeTo(writer);
} catch (Exception e) {
System.out.println("~~~write error:" + e);
}
} catch (Exception e) {
System.out.println("~~~read error:" + e);
}
} else {
work(file.getAbsolutePath());
}
}
}
}思路就是先递归地把文件流读出来,再逐行检查:
三个点+java 字符串,则替换为 三个点+Java [] 字符串。数字.数字.空格,就全部替换为空字符串。rm -rf,结果没有控制好,不小心把自己电脑上的所有程序都删除了。最近这两天一直在重装环境,伴随着不间断地 wtf!虽然办公室同事们都非常不厚道地笑了,但或许这就是敲代码的快乐所在。感觉程序员的办公室里还是很欢乐的,大家工作中有什么快乐瞬间呢?