我的问题是从foo.jar文件中获取一些CSS文件。如何从foo.jar获取这些CSS文件?我找到了一些方法,首先解压缩.jar并复制文件,然后删除解压缩的文件夹。这是一个好方法吗?
答案 0 :(得分:1)
我的JAR文件位置为 C:\ foo.jar
public static void main(String[] args) throws IOException {
{
URL url = getClass().getClassLoader().getResource("css/demo.css");
URL url2 = getClass().getClassLoader().getResource("");
System.out.println("url = " + url);
System.out.println("url_2 = " + url2);
}
}
<强>输出:强>
url = jar:file:/ C:/foo.jar!/css/demo.css
url_2 = file:/ C:/
所以,我不需要提取foo.jar。我可以像这样在JAR中复制文件。谢谢。
答案 1 :(得分:0)
以下示例将使您清楚 让我们从前面部分中使用过的TicTacToe JAR文件中提取一些文件。回想一下TicTacToe.jar的内容是:
META-INF/MANIFEST.MF
TicTacToe.class
TicTacToe.class
TicTacToe.java
audio/
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif
假设您要提取TicTacToe类文件和cross.gif图像文件。为此,您可以使用以下命令:
jar xf TicTacToe.jar TicTacToe.class images/cross.gif
这个命令做了两件事:
它将TicTacToe.class的副本放在当前目录中。 如果目录图像不存在,它会创建目录图像,并在其中放置一个cross.gif副本。
原始的TicTacToe JAR文件保持不变。
可以以相同的方式从JAR文件中提取所需的文件。当命令没有指定要提取的文件时,Jar工具会提取存档中的所有文件。例如,您可以使用以下命令提取TicTacToe存档中的所有文件:
jar xf TicTacToe.jar
答案 2 :(得分:0)
将该jar放入项目的类路径中。然后,您可以访问所需的资源。
答案 3 :(得分:0)
用于提取JAR文件内容的基本命令是:
jar xf myjarfile.jar;
了解更多信息,请查看此链接:
http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
希望这会有所帮助。