【问题标题】:Netbeans created Jar does not work, but inside IDE program worksNetbeans 创建的 Jar 不起作用,但在 IDE 程序内部工作
【发布时间】:2013-12-25 21:30:47
【问题描述】:

Netbeans 创建的 Jar 不起作用,但在 IDE 程序中它可以完美运行。 我相信主类已设置,所以我不确定问题是什么,我认为这可能与我正在使用的 txt 文件有关,在 IDE 中它们位于 C:\Users\J\ Documents\NetBeansProjects\PointOfSale\src\pointofsale(文本文件与我的 java 文件一起)。在构建 dist/ jar 之后,尽管文本文件在 jar 中,没有文件夹或任何东西(Jar 在 C:\Users\J\Documents\NetBeansProjects\PointOfSale\dist 中)。我这可能是问题所在,如果它有帮助,我使用

访问文件
File file = new File(System.getProperty("user.dir")+"\\src\\pointofsale\\list.txt");

【问题讨论】:

  • 定义“不起作用”。
  • 当我按下一个按钮时,什么也没有发生,我强烈怀疑它找不到我的“menu.txt”文件,因为那是应该显示的字符串的来源,以及那个,在 Jar 中,我检查了菜单文件,即使我在其中手动放置了一个值,它也不会在启动应用程序时将 txt 文件中的值加载到程序中。

标签: java file netbeans jar


【解决方案1】:

您需要使用Class.getResourceAsStream() 来加载文件。它从类路径内部(因此从 jar 内部)进行搜索。现在您无法加载 list.txt,因为它在您指定的目录中不存在,它在您的 jar 中。

类似的东西

getClass().getResourceAsStream("list.txt"); // Or "/list.txt"

会给你一个 InputStream,你可以用它来加载文件内容。

【讨论】:

  • 谢谢,我似乎真的不能让它工作,不过会继续尝试。我认为 File() 需要一个 URI 并给它一个 FileStream
  • 您需要文件吗?我以为你只想阅读内容。
  • 我从他们所有人那里阅读,并在不同的时间给他们所有人写信。使用扫描仪和打印机等
  • 那么你就不需要 File 对象了。使用流可以很好地处理读取,但是您当然不能写入 jar 中的文件。
  • 我不知道你不能写入 jar 内的文件,你能帮我把我的文件放在正确的地方,以便我可以读写
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 2016-09-02
  • 1970-01-01
  • 2017-01-22
  • 2016-01-05
  • 1970-01-01
  • 2015-12-01
相关资源
最近更新 更多