Java 如何读取文件夹inputstream中的文件
我有一个使用第三方库创建的Jar文件。 当我打包jar文件时,我在一个名为dataJava 如何读取文件夹inputstream中的文件,java,axis2,java-io,Java,Axis2,Java Io,我有一个使用第三方库创建的Jar文件。 当我打包jar文件时,我在一个名为data data - file1.xml - file2.xml - file3.xml 现在,我想阅读jar文件中的文件夹,并根据第三方库的文档 我可以得到类加载器,然后像这样以inputstream的形式读取文件夹 ClassLoader clsLoader = myService.getClassLoader(); InputStream accountsStream = clsLoad
data
- file1.xml
- file2.xml
- file3.xml
现在,我想阅读jar文件中的文件夹,并根据第三方库的文档
我可以得到类加载器,然后像这样以inputstream的形式读取文件夹
ClassLoader clsLoader = myService.getClassLoader();
InputStream accountsStream = clsLoader.getResourceAsStream("data");
问题是,如何列出inputstream中的所有文件并逐个解析
谢谢
编辑
新增信息:
How do I access resources that I put into my service or module archive file?
抱歉,这个问题应该是针对ApacheAxis的,但是如果它也是一个Java特定的问题,我会有点困惑
在使用类加载器将inputstream发送到文件夹后,如何将所有文件列出到该文件夹中并逐个读取
我的代码中的步骤将包含在内
File file = new File(System.getProperty("user.dir") + "/jarname.jar");
JarFile jfile = new JarFile(file);
Enumeration e = jfile.entries();
while (e.hasMoreElements()) {
ZipEntry entry = (ZipEntry)e.nextElement();
String path = entry.getName();
if(path.startsWith("/path/within/jarfile/") && path.endsWith(".xml")) {
MyClass.loadResourceAsStream(path);
}
}
使它脆弱的是,它取决于您的jarfile具有特定的名称,而不是位于另一个jarfile中,等等。我相信有一种更优雅的方式
当我打包jar文件时,我在一个名为data的文件夹中包含了几个xml文件
data/listOfXML.txt
的列表您正在使用的第三方库是什么,和/或您能提供的是指向其文档的链接?嗨,它的Apache Axis。当我打包我的服务时,我想让它访问模块存档中的文件夹。谢谢