在GitHub的README文件中为自己的文章生成目录,由于一行一行的重复类似的代码,一个一个的打字比较麻烦,所以就想到设计一个程序转换Markdown格式。
先看效果:
思路
- 获取文件目录
- 将其中的文件名转换成
[文件名](文件路径)
格式 - 输出运行结果
步骤
1. 定义将文件转换成Markdown链接格式的方法
例如articles目录下的文件Java进阶-数组.ipynb
文件转换为Markdown格式的链接为[Java进阶-数组](/articles/Java进阶-数组.ipynb)
public static String toMDLink(File file) {
String fileName = file.getName();
String fileParentName = file.getParentFile().getName();
return "- [" + fileName.substring(0, fileName.lastIndexOf('.')) + "](/" + fileParentName + '/' + fileName + ")";
}
可以将链接拆成[
,去后缀的文件名
,](/
,父目录名
,/
,``文件名,
)`
只需获取到去后缀的文件名
,父目录名
和文件名
即可
文件名:file.getName()
父目录名:file.getParentFile().getName()
去后缀的文件名:fileName.substring(0, fileName.lastIndexOf('.'))
2. 将文件夹中的所有文件转换成Markdown链接
扫描二维码关注公众号,回复:
10879607 查看本文章
public static StringBuffer getStringBuffer(String str) {
StringBuffer sb = new StringBuffer();
File file = new File(str);
if (file.isDirectory()) {
File[] results = file.listFiles();
for (int i = 0; i < results.length; i++) {
if (results[i].isFile()) {
sb.append(toMDLink(results[i])).append('\n');
}
}
}
return sb;
}
参数为目录的路径,遍历该目录下的所有文件,并把转换后的字符串保存在StringBuffer
对象中,每个结果用\n
换行以便于输出。
源码已上传至本人的GitHub仓库,欢迎访问