【问题标题】:How would I open a .txt file within a jar file? Using Java? [closed]如何在 jar 文件中打开 .txt 文件?使用Java? [关闭]
【发布时间】:2014-11-18 00:45:38
【问题描述】:

我使用的代码行是: InputStream is = game.class.getResourceAsStream("testing.txt");但是当我读取文件时它输出null,但是在文件中有“test”这个词,但是当我运行程序时它仍然返回null,请帮助:D 我正在使用的代码是: 包装代码;

导入 java.io.InputStream;

公开课游戏{

public static void main(String[] args) {
    InputStream is = game.class.getResourceAsStream("/testing.txt");
    System.out.println(is);

}

【问题讨论】:

  • 你读得怎么样?写吗?等等代码都不错。
  • 请显示代码和目录结构
  • 文件在:src/Code/testing.txt,
  • 对不起,我把目录结构弄错了,改动已经在之前的评论中修改了
  • @WilliamSmith 请编辑您的问题并花一些时间表达您的意思并格式化代码。然后人们可以轻松地帮助你,你不会得到任何反对意见。 :)

标签: java eclipse file jar


【解决方案1】:

我仍然不确定您的目录结构,但这应该可以工作

public class game {

   public static void main(String[] args) { 
     try{
       InputStream is = game.class.getResourceAsStream("/testing.txt");
       BufferedReader reader = new BufferedReader(new InputStreamReader(is));
       System.out.println(reader.readLine());
     } catch( IOException e){
     }
   }
}

【讨论】:

  • 感谢您的帮助,但我现在收到此错误:线程“主”java.lang.Error 中的异常:未解决的编译问题:方法 readLine() 未定义为代码中的 InputStream 类型.game.main(game.java:9)
  • 这是一个非常脆弱的解决方案:它只有在文件只有 1 行时才有效。或多或少,它会炸毁或仅部分读取文件。 (更不用说InputStream 还没有readLine() 方法。)
  • 我不确定@WilliamSmith 想要做什么。这修复了他所显示的内容。我忘记了没有 readLine,我修复了我的解决方案
  • 我尝试使用您的解决方案 @microsby0 但它仍然不起作用!
  • 嗯,@biziclop 是正确的,它相当脆弱,现在是什么错误?
猜你喜欢
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多