如何从文本文件中调用文件?

时间:2017-08-07 11:24:26

标签: java if-statement

我有一个我可以访问的文本文件&打开一个目录。该目录包含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;
    }
}

} }

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解您的问题,但您可以按日期对文件进行排序:

Arrays.sort(fileList, (f1,f2) -> (int)(f1.lastModified()-f2.lastModified()));