我知道,这个问题已被问到100次了。 我知道,有人已经可以给出正确的答案。我不得不再次问这个。我没有找到适合我的解决方案。抱歉。
我正在用java写一个游戏。当然,我有很多包装(文件夹)有声音和图片等等。但是这些文件夹的大小各不相同。所以我想将这样的文件夹的内容动态保存在列表中。
通常情况下,我正在此:
File f[] = new File(getClass.getResource("/home/res/").toURI()).listFiles();
现在我可以遍历虽然此文件对象,并保存每个文件。完善。真?
不。当我将这个项目解压缩到一个jar包时,失败了。所有这些都是因为一个uri不是“等级”或者这样的东西。看到这个异常:
C:\Users\Administrator\Desktop>java -jar Homework.jar
java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(Unknown Source)
at homework.moonface.src.Moonface.loadSounds(Moonface.java:94)
at homework.moonface.src.Moonface.<init>(Moonface.java:55)
at control.Overview.main(Overview.java:16)
好吧,我想,所以我需要得到这个路径,并将其添加到手册文件对象。 (新的文件(“路径”);但是...这是行不通的。我得到已知错误,输入不正确写入,或者当我尝试从资源url中“file:”剪切,它打破了,因为在一个jar中它的“jar:file:”而不是“file:”。但是,如果我切割jar:file:我得到null。
所以,请不要标记为一式二份,并试图解释这种短期内对我来说这将有助于其他一千,谁不明白其他的解决方案谁不解决
不要求可惜,不要吮吸。如果你问了一个适当的问题并提供了适当的细节(比如你似乎有),有人会帮助你。 –
需要说明的是:你有一堆你想要写入文件系统的文件? –
学习“Ant”的时间。使用Ant脚本,您可以管理您的所有资源 –