我正在使用提供以下功能的外部 API:
public void process(File file) {
}
就我而言,要提供的文件位于类路径中的 JAR 中。有没有办法提供File
将此文件表示为 process(File)
?
我尝试了以下方法:
new File(getClass().getClassLoader().getResource("my-file.txt").toURI()))
这给出了错误:URI is not hierarchical
.
我做了一些研究并了解到类路径上的文件不应被视为常规文件,而应被视为资源。这让我相信没有简单的方法来构造 File
对于该资源。
我应该先将资源复制到临时文件吗?
最佳答案
理想情况下,您应该修复已经完全损坏的 API。否则,获取 File
的唯一可靠方法是复制到临时文件。您可能想要使用 Files.createTempDirectory
然后是类似 Apache Commons IO IOUtils 的东西复制内容。
关于java - 如何向接受 File 参数的函数提供类路径资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58104091/