gpt4 book ai didi

java - 从 JAR 中获取 File 对象的任何方法

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:18:24 24 4
gpt4 key购买 nike

我有一个 JAR 文件,其中包含一个使用外部模型文件的 API。我想将模型文件包含在 JAR 本身中,以便其他开发人员更容易使用。 API 将只接受一个 File 对象,有什么办法可以做到这一点?我已经尝试过以下方法,但都失败了:

  • 使用 class.getResourceAsStream()。如果 API 接受 InputStream,这将起作用。
  • 解析类路径并尝试从条目构建(JAR 将显示为 app.jar)

我想一个选项是使用 getResourceAsStream 并将文件移动到 HDD 上的永久位置,但我不喜欢这个选项。必须有更好的东西,有什么想法吗?

最佳答案

.jar 文件中的资源不是操作系统可以通过普通文件访问 API 直接访问它们的意义上的文件。

并且因为 java.io.File 代表了那种类型的文件(即对于操作系统来说看起来像文件的东西),它不能用来指代 . jar文件。

一个可能的解决方法是将资源提取到一个临时文件中,并使用 File 引用它。

请注意,通常应编写尝试处理文件的 API 来处理 InputStream/OutputStream 以及允许此类操作成功。

关于java - 从 JAR 中获取 File 对象的任何方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2192586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com