我有一个我可以访问的文本文件&打开一个目录。该目录包含csv文件。 请参考:
export_test_practise-1_2017-06-23_2017-06-23.csv
export_test_practise-1_2017-06-24_2017-06-24.csv
export_test_practise-2_2017-06-24_2017-06-24.csv
现在我想在文本文件的第二行(String nString)
)写一个数字。然后这个数字调用相应的csv文件。
如果几个csv文件以相同的数字结尾,我总是想打电话给最近的。
例如: file.txt 的 1
- >打开export_test_practise-1_2017-06-24_2017-06-24.csv
(练习-1与lastModiefiedDate)
什么是最好的方法呢?
public class Test{
private static void sortFilesByName(File txtFile)
throws IOException
{
// Read from the file
BufferedReader br = new BufferedReader(new FileReader(txtFile));
String path = br.readLine();
String nrString = br.readLine();
br.close();
File[] fileList = new File(path).listFiles();
// Sort files by name
Arrays.sort(fileList);
long mod = 0;
File found = null;
System.out.println("nrString: " + nrString);
for (File f : fileList)
{
System.out.println(f.getName());
boolean fileNameOkForNrString = true;
if (fileNameOkForNrString && f.lastModified() > mod)
{
mod = f.lastModified();
found = f;
}
}
} }
答案 0 :(得分:0)
我不确定我是否正确理解您的问题,但您可以按日期对文件进行排序:
Arrays.sort(fileList, (f1,f2) -> (int)(f1.lastModified()-f2.lastModified()));