java - 如何将src文件添加到jar中?

标签 java netbeans application-resource

我构建了一个 Java 应用程序,该应用程序从 src 文件夹中的 txt 文件读取数据。我在程序中指定的路径是/src/data.txt,当我从 netbeans 运行它时它可以工作。但是,当我尝试打开 jar 文件时,没有打开任何内容。所以我尝试从命令行使用 javac ,这给了我无法找到 data.txt 的错误。

如何确保数据文件包含在 jar 中,以便它可以独立工作? 谢谢。 EDIT1:这是我用来加载文件的代码片段。而使用的路径就是前面提到的/scr/data.txt

public String [] openFile() throws IOException {
      FileReader fr = new FileReader(this.path);
      BufferedReader br = new BufferedReader(fr);
      String []text = new String[this.numberoflines];
      for(int i=0;i<this.numberoflines;++i)
      {
          text[i]=br.readLine();
      }
      br.close();
      return text;
}

EDIT2:这是 tvf 输出:

    Error: Could not find or load main class jar

C:\Users\Abhishek>jar -tvf Scrades.jar 0 Sun Jan 22 18:47:08 IST 2012 META-INF/ 199 Sun Jan 22 18:47:06 IST 2012 META-INF/MANIFEST.MF 2562 Sun Jan 22 18:47:08 IST 2012 CombinationGenerator.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$1.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$2.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$3.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$4.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$5.class 969 Sun Jan 22 18:47:08 IST 2012 Gameplay$6.class 18279 Sun Jan 22 18:47:08 IST 2012 Gameplay.class 2275 Sun Jan 22 18:47:08 IST 2012 PermutationGenerator.class 1252444 Sun Jan 22 18:47:08 IST 2012 eng_final1.txt 3771960 Sun Jan 22 18:47:08 IST 2012 english_huge.txt 815532 Sun Jan 22 18:47:08 IST 2012 english_long.txt 16104 Sun Jan 22 18:47:08 IST 2012 english_short.txt 1506 Sun Jan 22 18:47:08 IST 2012 readFile.class

最佳答案

您可以使用 winrar 等 rar 提取器手动检查、放置和删除 jar 存档中的文件:然后使用 Class.getResourceAsStream(String) 进行访问;

    InputStream is = getClass().getResourceAsStream("/src/data.txt");
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line;
    while ((line = br.readLine()) != null){
      //Perform operations
    }
    br.close();
    isr.close();
    is.close();

关于java - 如何将src文件添加到jar中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959608/

相关文章:

java - 使用 pdfbox 创建新的自定义 COSBase 对象?

java - GWT 序列化中的 FieldSerializer 编译错误

Netbeans x Firefox : Could not access the url through the external browser

zend-framework - 如何在 Zend Framework 1.11.x 中的 application.ini 中注册自定义应用程序资源

java - 如何修复 ApplicationResources_fr.properties 损坏

java - 尝试使用ZipInputStream解压缩String值时,获取IOException推回缓冲区已满

java - android - 生成不重复的随机数

c - 简单的 curses.h 程序,终端不显示任何内容

java - JList 添加和删除项目 (Netbeans)

java - 尝试将 rtf 文件从 Jar 读取到 JEditorPane;在 Netbeans 中工作,而不是在 Jar 中工作