Java 无法识别 JAR 中的文件

标签 java file jar

我的 java 程序的 JAR 文件中有一个 .csv 数据库文件。在打包之前,该程序在 NetBeans IDE 中运行良好,但一旦打包,它就拒绝相信该文件在其中,即使我让它打印出它正在查找的路径并解压缩 JAR 以确保我告诉了它寻找正确的地方。我如何让 Java 看到这一点?

  try
  {
    String path = Main.class.getResource("/items.csv").getPath();
    db = new java.io.File(path);
    loadValues(db);
  }
  catch (java.io.FileNotFoundException ex1)
  {
    System.out.println("Could not find database file (" + ui.db + ").");
  }

最佳答案

不要为资源创建File对象,因为可能没有FileFile 仅代表文件系统上的“真实”文件。就操作系统而言,.jar 文件中的"file"只是一些字节。

您需要使用getResourceAsStream()获取 InputStream 并从中读取。

关于Java 无法识别 JAR 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217175/

相关文章:

c - fgets关于第三个参数

java - 为什么 Spring Boot 后端 JAR 文件在 Ubuntu 上只运行一小段时间?如何让它作为服务运行?

java - 初学者;方法和字符串

java - Portlet 与 Servlet : why there is only Service phase in servlet and Action and render phase in portlet for request handling?

c++ - 将 QFile 转换为文件*

file - 如何找到目录及其子目录中最大的文件?

xml - : 'identifiedType' 的重复定义

java - 线程 "main"dropbox 应用程序中出现异常

java - 如何将阿拉伯文本打印到热敏打印机 (Bixolon)

用于按线程将电子邮件分组在一起的 Java 库?