我需要读取文件中的文件,也就是罐子文件夹内以这样的方式阅读从文件夹中的.jar
DataSource coverdata = new FileDataSource(new File("here is the path"));
如何得到确切的路径?我正在使用一个库,所以我可以访问文件的唯一方法是,没有输入流。
我需要读取文件中的文件,也就是罐子文件夹内以这样的方式阅读从文件夹中的.jar
DataSource coverdata = new FileDataSource(new File("here is the path"));
如何得到确切的路径?我正在使用一个库,所以我可以访问文件的唯一方法是,没有输入流。
致电ClassLoader.getResourceAsStream()::InputStream
或ClassLoader.getResource()::URL
。
参见:
包含所请求的文件必须在类路径的JAR文件。
你走错了路。文件只是直接写入文件系统的东西。 jar中的文件不是从Java API的角度来看的文件。
要阅读此文件,您必须使用JarInputStream或ZipInputStream解析JAR,进入有趣的条目并从输入流中读取。这并不难,但你必须编写几行代码。
其他方法是使用来自jakarta.org的VFS包。它为您提供了不同文件系统,ZIP,TAR和其他容器格式元素的统一视图。
如何使用@home已经讨论过的InputStream(getResourceAsStream())方法创建新的临时文件,然后将其作为普通文件读取?
嗯,似乎是这一个的副本:http://stackoverflow.com/questions/6639/how-should-i-load-files-into-my-java-application – home
@Arthur Shniv *“' DataSource'“*你能为我隐瞒吗?这是一个'javax.activation.DataSource',一个'javax.sql.DataSource'或其他的东西吗? *“我正在使用一个库,所以我可以访问文件的唯一方式是新的File(),没有输入流。”*听起来像需要让他们修复它们的API。要么或使用不同的。 –