我有一个Java进程试图通过NFS挂载读取文件。
在尝试阅读之前,请先与File.canRead()
核对。
在这种情况下,支架处于不良状态。
您也可以在命令行中看到这一点:“ ls”和“ df”都永远挂起。
File.canRead()
永远挂起,我真的希望超时并记录错误,而不是我的进程永远挂起。在Java中检查文件可以被读取而没有挂起风险的理想方法是什么?
我做了一个线程转储,看到了
java.lang.Thread.State: RUNNABLE
at java.io.UnixFileSystem.checkAccess(Native Method)
at java.io.File.canRead(File.java:768)