我正在编写一个读取文件然后处理它们的程序。目前,我正在使用 BufferedReader 从 txt 文件中读取文件列表。此 txt 文件是在命令提示符下生成的:
dir > filelist.txt
然后将其裁剪为仅文件名。
我可以通过以下方式将其合并到我的脚本中:
//pseudo code(needs further directory specification)
Runtime run = Runtime.getRuntime();//pseudo code(needs further directory specification)
Process process = run.exec("dir > filelist.txt");
此命令以以下形式提供包含文件的目录:
dd/mm/yyyy hh:mm (filesize) file
一旦我有了这个文件,我就可以运行一个正则表达式来提取文件名。
Pattern file = Pattern.compile("(\d){2}/(\d){2}/(\d){4}\s(\d){2}(:)(\d){2}\s(\d+)\s(.+)\.txt");
for (String fileline : filelist) {
Matcher matchfile = file.matcher(fileline);
if(matchfile.find()){
filearray.add(matchfile.group().split("\\s")[3]);
}
}
有没有更简单的方法从 Java SE 中的目录中获取文件名?这似乎有点啰嗦。