java - 如何向接受 File 参数的函数提供类路径资源?

标签 java classpath

我正在使用提供以下功能的外部 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/

相关文章:

java - android - 运行简单的墙纸应用程序时出错

java - 拆分您使用扫描仪输入的字符串

java - 确保每个 JAR 首先看到自己的类路径资源

java - 运行包含 Jsoup 依赖项的 java 类文件的问题

java 安卓 getResources().getIdentifier()

java - Kotlin 使用的 Java 库中的泛型和继承

java - 访问字段时出错(使用 Hibernate/JPA)

java - 什么是类路径以及如何设置它?

java - 通过 CreateProcess() 启动的 JVM 丢失类路径库