2011-07-24 72 views
1

我需要读取文件中的文件,也就是罐子文件夹内以这样的方式阅读从文件夹中的.jar

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

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

+0

嗯,似乎是这一个的副本:http://stackoverflow.com/questions/6639/how-should-i-load-files-into-my-java-application – home

+0

@Arthur Shniv *“' DataSource'“*你能为我隐瞒吗?这是一个'javax.activation.DataSource',一个'javax.sql.DataSource'或其他的东西吗? *“我正在使用一个库,所以我可以访问文件的唯一方式是新的File(),没有输入流。”*听起来像需要让他们修复它们的API。要么或使用不同的。 –

回答

1

你走错了路。文件只是直接写入文件系统的东西。 jar中的文件不是从Java API的角度来看的文件。

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

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

0

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