我正在使用Java 7的功能来读取文件。为此,我需要一个Path类型的对象。在我的代码中,我使用getResource()函数来获取文件的相对路径(类型URL)。

但是,现在我遇到的问题是,我现在真的不是很容易从URL类型的对象轻松转换为Path类型的对象(,而无需,必须先进行强制转换,例如先转换为URI然后再转换为File,然后再从该类型转换为Path)?

这是一个示例,向您展示我想做什么:

URL url = getClass().getResource("file.txt");
Path path = (new File(url.toURI())).toPath(); //is there an easier way?
List<String> list = Files.readAllLines(path, Charset.defaultCharset());

那么,有没有更简单的方法可以实现这一目标,而不必在第2行上执行该代码困惑呢?

最佳答案

怎么样

Path path = Paths.get(url.toURI());

从URL创建文件是不合适的,因为它是从类路径中获取的,并且该文件实际上可能在jar中。

10-05 21:09
查看更多