但我很好奇为什么getCanonicalPath()会抛出已检查异常,而getAbsolutePath()却不会抛出任何异常? 在 getCanonicalPath 的文档中解释了原因: IOException - 如果发生I/O错误,则可能需要进行文件系统查询来构建规范路径名。