Java-Quirk从路径中读取行

Java-Quirk从路径中读取行,java,nio,Java,Nio,我似乎有一个随机发生的问题,我希望有人能阐明。我正在读取文件并输出内容。我有一个测试文件,可以在90%的时间内读取。但是,有时它会错误地报告测试文件有0行。这有什么原因吗?我希望它总是在内容中阅读。下面显示了一个裸体示例: public void foo (Path path){ System.out.println("Exists?"+ Files.exists(path)); // Always says true List<String>lines = File

我似乎有一个随机发生的问题,我希望有人能阐明。我正在读取文件并输出内容。我有一个测试文件,可以在90%的时间内读取。但是,有时它会错误地报告测试文件有0行。这有什么原因吗?我希望它总是在内容中阅读。下面显示了一个裸体示例:

public void foo (Path path){
    System.out.println("Exists?"+ Files.exists(path)); // Always says true
    List<String>lines = Files.readAllLines(path);
    System.out.println("NumLines:"+ lines.size()); // Sometimes 0, sometimes 7
}
public void foo(路径){
System.out.println(“存在?”+Files.Exists(path));//始终为true
Listlines=Files.readAllLines(路径);
System.out.println(“NumLines:+lines.size());//有时为0,有时为7
}

我还使用BufferedReader(新文件阅读器(path.ToFile())尝试了这一点,得到了相同的结果

文件位于哪里?本地驱动器还是网络共享?它在我的本地驱动器上。这是一个5kb的文件,所以里面没有太多内容。你能禁用任何反病毒并尝试复制吗?不幸的是,我不相信这与此有关。这是OpenJDK还是Oracle?可能需要为它提交一个bug或更新JDK/JRE,因为它与IO相关,甚至可能与磁盘控制器驱动程序相关。确实有很多因素。