小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java獲取資源文件的路徑

 昵稱(chēng)TdLt0 2011-11-25
這里分為具體兩種:
第一種:資源文件為一般后綴文件
第二種:資源文件為圖片文件
【NO1】第一種 
  使用這行代碼可以獲取class類(lèi)的根目錄的路徑 
  String path =Thread.currentThread().getContextClassLoader().getResource("").getPath();
例子:我用的開(kāi)發(fā)軟件MyEclipse 6.5
假設(shè)項(xiàng)目文件夾如下: 
   files———bin——core(生成class包)

       |               |         |——Main.class(生成的class文件)

       |               |

       |               |——resource( 生成資源文件夾)

       |                         |——a.bat

       |                         |——b.png

       |———src——core(源包) 

                   |             |—— Main.java(源代碼)

                   |

                   |——resource(源資源文件夾) 

                                 |——a.bat

                                 |——b.png

//源代碼Main.java

//============================================================
package core;
import java.io.File;
public class Main { 
    public static void main(String[] args){
        try{
        String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();    //添加
        File af=new File(path+"/resource");
        if(!af.exists()) System.out.println("nullEXIST");;
        String[] files =af.list();
        if(files.length==0) System.out.println("nullLENGTH");;
        for(int i=0;i<files.length;i++){
            if(files[i]!=null)System.out.println(files[i]);
            else System.out.println("null");
        }
       
        }
        catch(Exception e){
            System.out.println("HugeERROR");
        }
    }
       
}

// =============================================================== 
運(yùn)行結(jié)果:
a.bat
b.png  
就對(duì)了  

【NO2】第二種
建議使用下面( 2 )方法,因?yàn)椋?)jar之后可能出現(xiàn)找不到的問(wèn)題 (之前我試過(guò)出現(xiàn)這種情況)
這里代碼省了
(1)、你將所有資源打包為epm.jar,你的類(lèi)位于一個(gè)包中:package core;你的圖片資源全部放在images文件夾中,而images文件夾也位于core包內(nèi)。這樣的話,最終的路徑表現(xiàn)為:
epm———bin——core(生成class包)

       |               |         |——Main.class(生成的class文件)

       |               |

       |               |——images( 生成資源文件夾)

       |                         |——system.bat

       |                         |——background.png

       |———src——core(源包) 

                   |             |—— Main.java(源代碼)

                   |

                   |——images(源資源文件夾) 

                                 |——system.bat

                                 |——background.png




  可以通過(guò)相對(duì)路徑來(lái)訪問(wèn):       

  java.net.URL imUrl = getClass().getResource("images/background.png");
  ImageIcon im = new ImageIcon(imUrl);

(2)、另一種情況,如果你的類(lèi)有很多,并且包的結(jié)構(gòu)很復(fù)雜,應(yīng)該把圖片放到最外層,讓所有的類(lèi)通過(guò)絕對(duì)路徑來(lái)訪問(wèn)該圖片
epm———bin——core(生成class包)

       |               |         |——Main.class(生成的class文件)

       |               |

       |               |——images( 生成資源文件夾)

       |                         |——system.bat

       |                         |——background.png

       |———src——core(源包) 

                   |             |—— Main.java(源代碼)

                   |

                   |——images(源資源文件夾) 

                                 |——system.bat

                                 |——background.png


java.net.URL imUrl = getClass().getResource("/images/background.png");
ImageIcon im = new ImageIcon(imgUrl);

區(qū)別非常細(xì)微,僅僅是在“images”的前面加了一個(gè)反斜杠"/",這個(gè)反斜杠就表示根目錄,沒(méi)有反斜杠就表示相對(duì)路徑。
 
本文出自:http://xp9802./blogs/765399 ,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必保留此出處

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多