[英]Read a file from inside the .jar folder
我需要以这种方式读取jar文件夹中的文件:
DataSource coverdata = new FileDataSource(new File("here is the path"));
我如何获得确切的路径? 我正在使用一个库,所以我可以访问文件的唯一方法是new File()
,没有输入流。
调用ClassLoader.getResourceAsStream()::InputStream
或ClassLoader.getResource()::URL
。
看到:
包含所请求文件的JAR文件必须位于类路径中。
你走错了路。 文件只是直接写在文件系统上的东西。 jar中的文件不是来自Java API的文件。
要读取此文件,您必须使用JarInputStream或ZipInputStream解析JAR,转到有趣的条目并从输入流中读取。 这并不难,但你必须编写几行代码。
其他方法是使用jakarta.org的VFS包。 它为您提供了不同文件系统,ZIP,TAR和其他容器格式的元素的统一视图。
如何使用@home已经讨论过的InputStream(getResourceAsStream())方法创建一个新的临时文件,然后将其作为普通文件读取?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.