繁体   English   中英

从.jar文件夹中读取文件

[英]Read a file from inside the .jar folder

我需要以这种方式读取jar文件夹中的文件:

 DataSource coverdata = new FileDataSource(new File("here is the path"));

我如何获得确切的路径? 我正在使用一个库,所以我可以访问文件的唯一方法是new File() ,没有输入流。

调用ClassLoader.getResourceAsStream()::InputStreamClassLoader.getResource()::URL

看到:

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html#getResourceAsStream(java.lang.String

包含所请求文件的JAR文件必须位于类路径中。

你走错了路。 文件只是直接写在文件系统上的东西。 jar中的文件不是来自Java API的文件。

要读取此文件,您必须使用JarInputStream或ZipInputStream解析JAR,转到有趣的条目并从输入流中读取。 这并不难,但你必须编写几行代码。

其他方法是使用jakarta.org的VFS包。 它为您提供了不同文件系统,ZIP,TAR和其他容器格式的元素的统一视图。

如何使用@home已经讨论过的InputStream(getResourceAsStream())方法创建一个新的临时文件,然后将其作为普通文件读取?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM