[英]How can I get files in .jar file using java?
我的問題是從foo.jar文件中獲取一些CSS文件。 如何從foo.jar獲取這些CSS文件? 我找到了一些方法,首先是解壓縮此.jar並復制文件,然后刪除已解壓縮的文件夾。 那是個好方法嗎?
我的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);
}
}
輸出:
網址= jar:文件:/ C:/foo.jar!/css/demo.css
url_2 =文件:/ C:/
因此,我不需要提取foo.jar。 我可以像這樣在JAR中復制文件。 謝謝。
下面的示例將使您清楚。讓我們從上一部分中一直使用的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
將該jar放入項目的類路徑中。 然后,您可以訪問所需的資源。
用於提取JAR文件內容的基本命令是:
jar xf myjarfile.jar;
有關更多信息,請查看此鏈接:
http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.