NoteInMDFileMerge
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
public class NoteInMDFileMerge {
public static boolean appendMDFile(String file, String toFile) {
try (FileOutputStream fileOutput = new FileOutputStream(toFile, true);
FileInputStream fileInput = new FileInputStream(file);) {
fileOutput.write("\n# ".getBytes());
fileOutput.write(file.substring(file.lastIndexOf("\\") + 1, file.lastIndexOf(".")).getBytes("utf-8"));
fileOutput.write("\n".getBytes());
while (fileInput.available() > 0) {
fileOutput.write(fileInput.read());
}
} catch (IOException ex) {
return false;
}
return true;
}
public static boolean mergeFileInPath(String path, String fileNameFilter, String toFile) {
File[] files = new File(path).listFiles((File file) -> file.getName().matches(fileNameFilter));
ArrayList<String> fileNameList = new ArrayList();
for (File file : files) {
fileNameList.add(file.getName());
}
Collections.sort(fileNameList, String::compareTo);
fileNameList.forEach((fileName) -> {
appendMDFile(path + "\\" + fileName, path + "\\" + toFile);
});
return true;
}
public static void main(String[] args) {
String path = "D:\\BaiduNetdiskDownload\\面向对象程序设计2020\\md";
String fileNameFilter = "OOP-(0[1-9]|[1-9][0-9]).*";
String toFile = "OOP2020-lecture-notes.md";
mergeFileInPath(path, fileNameFilter, toFile);
}
}
本文介绍了一个用于合并多个Markdown文件的Java工具,该工具能够按文件名排序将指定目录下的所有匹配的Markdown文件合并到一个文件中,适用于整理笔记或文档。
1877

被折叠的 条评论
为什么被折叠?



