我正在使用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中。