2013-10-01 58 views
1

第一个:将一个文件夹中的所有文件保存在一个罐子里

我知道,这个问题已被问到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。

所以,请不要标记为一式二份,并试图解释这种短期内对我来说这将有助于其他一千,谁不明白其他的解决方案谁不解决

+0

不要求可惜,不要吮吸。如果你问了一个适当的问题并提供了适当的细节(比如你似乎有),有人会帮助你。 –

+0

需要说明的是:你有一堆你想要写入文件系统的文件? –

+0

学习“Ant”的时间。使用Ant脚本,您可以管理您的所有资源 –

回答

1

试试这个:。

URL jarResourceURL = getClass().getResource("/home/res/"); 
    JarURLConnection jarURLConnection = (JarURLConnection) jarResourceURL.openConnection(); 
    Enumeration<JarEntry> entries = jarURLConnection.getJarFile().entries(); 
    while (entries.hasMoreElements()){ 
     entries.nextElement(); // iterate over entries and do something 
    } 

UPD:我正在考虑如何pring框架的ClassPathXmlApplicationContext从jar中解析资源。所以我调查了源代码和foud,有一个实用程序类org.springframework.core.io.ClassPathResource,它有一个方便的界面(此外有可能获得相应的使用它的java.io.File实例),并可以帮助您解决问题。这里是文档: http://docs.spring.io/spring/docs/2.5.x/api/org/springframework/core/io/ClassPathResource.html

+1

得到此异常: 'java.lang.ClassCastException:sun.net.www.protocol.file.FileURLConnection不能homework.moonface.src.Moonface.loadSounds被转换为java.net.JarURLConnection中\t( Moonface.java:93) \t at homework.moonface.src.Moonface。 (Moonface.java:55) \t at control.Overview.main(Overview.java:16)' –

+0

您是否尝试过使用不在jar中的classpath成员? –

+0

不大,但资源必须在罐子..或者你是什么意思? –

相关问题