java - 从外部 Jar 文件内部读取文件?

标签 java file jar external

我正在尝试使用 java 从外部 jar 中读取文件.. 例如,我有两个 jar 文件。一个是“foo.jar”,另一个是“bar.jar”。 “bar.jar”内部是文件“foo-bar.txt”。如何使用“foo.jar”中的代码从“bar.jar”内部读取文件“foo-bar.txt”...?这可能吗..? 我知道我可以使用 foo.jar 的一侧读取文件

this.getClass().getClassLoader().getResourceAsStream("foo-bar.txt");

但我不知道如何从外部 jar 中做到这一点..有人可以帮助我吗?

最佳答案

使用jar url打开连接示例代码

InputStream in = null;
String inputFile = "jar:file:/c:/path/to/my.jar!/myfile.txt";
if (inputFile.startsWith("jar:")){
  try {
    inputURL = new URL(inputFile);
    JarURLConnection conn = (JarURLConnection)inputURL.openConnection();
    in = conn.getInputStream();
  } catch (MalformedURLException e1) {
    System.err.println("Malformed input URL: "+inputURL);
    return;
  } catch (IOException e1) {
    System.err.println("IO error open connection");
    return;
  }
} 

关于java - 从外部 Jar 文件内部读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294594/

相关文章:

c - 如何将十六进制数读入 C 中的无符号整数

C - 试图回到文件中的上一行

java - 在 Eclipse 中将 Java 应用程序导出为可运行 Jar - 启动配置中的旧项目

java - 使用 google firebase auth 用户个人资料图像 url 为空

java - 基本后台服务尝试打开套接字

java - 使用双重检查锁定实现单例时我们是否需要 volatile

java - 在vlcj MediaPlayer上添加透明Swing组件?

java - 想要将视频快照保存在特定目录中

java - 如何在Processing中导入外部库?

java - 如何从 jar 文件中提取 zip 文件