有没有人有经验或知道 File.getCanonicalPath()
方法何时会抛出 IOException
我试着从网上查了一下,最好的答案在File API中。上面写着
“IOException
- 如果发生 I/O 错误,这是可能的,因为规范路径名的构造可能需要文件系统查询”
但是,我不清楚,因为我仍然想不出这可能会失败的情况。谁能给我在 Linux、Windows 和其他操作系统(可选)上可能发生的具体示例?
我之所以想知道是因为我想相应地处理这个异常。因此,最好知道所有可能发生的故障。
最佳答案
这是一个 Windows 示例:
尝试对 CD 驱动器中的文件调用 getCanonicalFile
,但不要加载 CD。例如:
new File("D:\\dummy.txt").getCanonicalFile();
你会得到:
Exception in thread "main" java.io.IOException: The device is not ready
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:396)
at java.io.File.getCanonicalPath(File.java:559)
at java.io.File.getCanonicalFile(File.java:583)
关于java - File.getCanonicalPath() 失败示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4489878/