[英]In java, how do you retrieve images from a jar file?
我在將Java項目導出到jar(從Eclipse)時遇到了問題。 我在jar中包含了一個名為images
。 它包含我的項目使用的所有圖像文件。 問題是,僅當項目不是 jar形式時,我對這些圖像的引用才有效。 我不知道為什么,我想知道是否需要更改圖像引用的措辭。 這是我要參考的圖像:
URL treeURL = null;
Image tree = null;
File pathToTheTree = new File("images/tree.png");
try {
treeURL = pathToTheTree.toURL();
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
tree = ImageIO.read(treeURL);
} catch(IOException e) {
e.printStackTrace();
}
這很可能是一個簡單的問題,因為我是編碼的初學者。 當它們全部放在罐子里時,我需要更改什么才能使這些引用起作用?
這確實很簡單:您可以在java.lang.Class
和java.lang.ClassLoader
使用各種getResource()
方法。 例如,在您的應用中,您可以編寫
treeURL = getClass().getResource("/images/tree.png");
這將在jar文件根目錄的images
目錄中找到該文件。 getResource()
方法的getResource()
是,無論文件是否在jar中,它們都可以工作-如果images
目錄是磁盤上的真實目錄,則該目錄仍然有效(只要images
的父目錄是您的課程路徑。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.