目前,我在 Guava API 的帮助下使用以下代码从类路径加载属性文件:
final URL fileURL = Resources.getResource("res.properties");
final File file = new File(fileURL.getFile());
我决定尝试 Java7SE 中引入的新 NIO2 API 并删除任何 Guava API 调用,因此我将代码转换为以下内容:
final URL fileURL = getClass().getResource("/res.properties");
final Path path = Paths.get(fileURL.toURI());
URL
但是修改后的代码在和之间发生转换的那一行会抛出一个检查异常URI
。有什么办法可以摆脱它。例如,我可以得到一个Path
给定URL
的实例吗?
PS 我知道修改后的代码在语义上与原始代码不同 -如果找不到资源,则Guava 会getResource
抛出,在这种情况下,Java 会返回。IllegalArgumentException
getResource
null