gpt4 book ai didi

java - 如果我有一个需要文件路径的构造函数,如果它被打包到一个 jar 中,我怎么能 "fake"呢?

转载 作者:可可西里 更新时间:2023-11-01 14:20:45 26 4
gpt4 key购买 nike

这个问题的上下文是我正在尝试在我编写的 pig 脚本中使用 maxmind java api...但是,我不认为了解任何一个都不是回答这个问题所必需的。

maxmind API 有一个构造函数,它需要一个名为 GeoIP.dat 的文件的路径,该文件是一个以逗号分隔的文件,其中包含所需的信息。

我有一个包含 API 的 jar 文件,以及一个实例化类并使用它的包装类。我的想法是将GeoIP.dat文件打包到jar中,然后在jar文件中作为资源访问。问题是我不知道如何构建构造函数可以使用的路径。

查看 API,这是他们加载文件的方式:

public LookupService(String databaseFile) throws IOException {
this(new File(databaseFile));
}


public LookupService(File databaseFile) throws IOException {
this.databaseFile = databaseFile;
this.file = new RandomAccessFile(databaseFile, "r");
init();
}

我只粘贴它是因为我不反对编辑 API 本身以使其在必要时起作用,但不知道如何复制我这样的功能。不过,理想情况下,我希望将其放入文件表单中,否则编辑 API 将是一件很麻烦的事情。

这可能吗?

最佳答案

尝试:

new File(MyWrappingClass.class.getResource(<resource>).toURI())

关于java - 如果我有一个需要文件路径的构造函数,如果它被打包到一个 jar 中,我怎么能 "fake"呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4959762/

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