我从未想过它会发生在我身上,但我遇到了我在Java中的第一个错误:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5003595
我几乎和bug(Linux on Linux)中描述的情况完全相同,我发现File.exists()没有返回正确的值(至少不是马上就行).
所以我的问题是,有没有替代这种检查文件是否存在的方法?如果可能的话,我宁愿保持操作系统不可知.
编辑:我找到了一个解决方法.如果你调用'ls $ filedir',NFS会刷新任何给Java带来麻烦的缓存/元数据,而File.exists()会返回正确的值.当然,这并不完全理想,因为它会损害可移植性,但有办法解决这个问题.
谢谢,-Ben