我试图从作为桌面应用程序运行的单独jar中访问jar文件中的XML文件。我可以获得所需文件的URL,但是当我将其作为字符串传递给FileReader时,会得到一个FileNotFoundException,提示“文件名、目录名或卷标语法不正确”。
作为参考,我可以毫不费力地从同一个jar中读取图像资源,并将URL传递给ImageIcon构造函数。这似乎表明我用来获取URL的方法是正确的。
URL url = getClass().getResource("/xxx/xxx/xxx/services.xml");
ServicesLoader jsl = new ServicesLoader( url.toString() );在我的ServicesLoader类中
XMLReader xr = XMLReaderFactory.createXMLReader();
xr.setContentHandler( this );
xr.setErrorHandler( this );
xr.parse( new InputSource( new FileReader( filename )));使用这种技术读取XML文件有什么问题吗?
发布于 2011-04-11 01:39:16
如果您广泛使用资源,则可以考虑使用Commons VFS。
还支持:*本地文件* FTP、SFTP * HTTP和HTTPS *临时文件“普通文件系统支持”* Zip、Jar和Tar (未压缩、tgz或tbz2) * gzip和bzip2 *资源*内存-“内存驱动器”* mime
还有JBoss VFS --但没有太多的文档记录。
https://stackoverflow.com/questions/403256
复制相似问题