java - File.getCanonicalPath() 失败示例

标签 java file-io

有没有人有经验或知道 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/

相关文章:

java - 使用java创建文件后,其中没有值

c - 用C语言读写二进制文件?

java - 使用 J2ME 在手机内存中写入文件

javascript - 我可以使用 Node.js 将文件存储在 "memory"中吗?

java - 有没有办法在iText(Java版本)中将矩形绘制到PdfPCell中?

java - @Preload 的作用是什么(Jira Activity 对象)?

java - 正在运行引用另一个 jar 的 jar

java - 聚合到 JPA 实体映射

java - Java 高效查找 HTML 代码中的字符串

java - 用 Java 实现一个迷你摘要器