使用绝对路径时找不到文件

时间:2017-07-20 11:14:26

标签: java filereader

每次我提供FileReader的完整文件路径时,都会遇到 FileNotFoundException 。但只是在将文件复制到程序所在的同一目录后给出文件名,使程序执行正常。

// Doesn't work

    FileReader in = new FileReader(files_path +"\\"+ "fileName.csv");
    Iterable<CSVRecord> records = CSVFormat.EXCEL.parse(in);
    for (CSVRecord record : records) 
    {
        System.out.println(record.get(7));
    }


//Works 

    FileReader in = new FileReader("fileName.csv");
    Iterable<CSVRecord> records = CSVFormat.EXCEL.parse(in);
    for (CSVRecord record : records) 
    {
        System.out.println(record.get(7));
    }

1 个答案:

答案 0 :(得分:0)

表示的文件
files_path +"\\"+ "fileName.csv"

不存在。这就是您遇到此错误的原因。

潜在原因:

  • files_path表示无效或不存在的路径
  • files_path本身以反斜杠结束(虽然这不会导致Windows上的许多问题)
  • 您不在Windows上,在这种情况下,您需要使用正斜杠作为文件分隔符。正如评论中已经建议的那样,使用Java常量File.separator是独立于平台的。