访问打包到jar文件中的文件

时间:2011-02-02 11:11:40

标签: java jar

我创建了一个带有可运行编译类和一些模板文件(文本)的jar文件。我现在想要使用打包到jar中的文本文件在应用程序中作为File对象进行分发。

我试图使用不起作用的相对路径。 如何让File对象指向jar中的文本文件?

有没有办法做到这一点,这样既可以运行解压缩的类文件,又可以运行具有相同代码的jar,或者我需要使用单独的函数吗?

2 个答案:

答案 0 :(得分:5)

从jar内部你可以像Class.getResourceAsStream(String)或类似的东西一样使用它。

从外面看它的文件不是它的jar所以你必须提取它以便实际使用内部文件

答案 1 :(得分:1)

如果您在应用程序中使用JAR,那么Class.getResourceAsStream(String)将会这样做。

或者,如果你正在使用Servlet,那么ServletContext.getResourceAsStream(String)也会这样做。

这两种方法会返回InputStream(您的资源数据),而不是您想要的File对象。