【发布时间】:2016-12-29 02:51:16
【问题描述】:
所以我在从 jar 文件运行程序时加载文件时遇到问题。我知道存在与此非常相似的问题,但我找不到对我有用或做我需要的问题。我想从我的 jar 中的一个文件夹中加载一个目标文件,但是当我这样做时,我收到以下错误:
Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(Unknown Source)
at bbsource.BouncyBallV5.loadLevels(BouncyBallV5.java:370)
at bbsource.BouncyBallV5.<init>(BouncyBallV5.java:243)
at BBDriver.main(BBDriver.java:18)
370行如下
initSource = new File(getClass().getResource("/resources/levels").toURI());
从 Eclipse 运行时,我对这一行没有任何问题,但我知道 jar 文件中的行为有所不同。文件夹层次结构是:
- 源
- 资源
- 级别
- tier_one
- Level1.cbbl
- Level2.cbbl
- tier_two
- Level1.cbbl
- tier_one
- 级别
- 资源
levels 是一个不允许我访问的目录,我不知道如何让它工作。我已经看到了诸如使用InputStream 之类的建议,但我不确定如何使用它并且仍然将它视为我可以从中读取对象的文件。
任何帮助将不胜感激。
【问题讨论】: