簡體   English   中英

在Java中,如何從jar文件中檢索圖像?

[英]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.Classjava.lang.ClassLoader使用各種getResource()方法。 例如,在您的應用中,您可以編寫

treeURL = getClass().getResource("/images/tree.png");

這將在jar文件根目錄的images目錄中找到該文件。 getResource()方法的getResource()是,無論文件是否在jar中,它們都可以工作-如果images目錄是磁盤上的真實目錄,則該目錄仍然有效(只要images的父目錄是您的課程路徑。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM