posts - 495,  comments - 11,  trackbacks - 0
          在Java的程序發(fā)布中,很多人會選擇采用二進(jìn)制的jar的格式進(jìn)行發(fā)布,怎么樣讀取Jar里面的資源呢?
          主要是采用ClassLoader的下面幾個方法來實現(xiàn):
          public URL getResource(String name);
          public InputStream getResourceAsStream(String name)

          public static InputStream getSystemResourceAsStream(String name)
          public static URL getSystemResource(String name)

          后兩個方法可以看出是靜態(tài)的方法,這幾個方法都可以從Jar中讀取圖片資源,但是對與動畫的gif文件,筆者在嘗試過程中發(fā)現(xiàn),存在一些差異。

          String gifName為Gif文件在Jar中的相對路徑。
          (1)使用了兩個靜態(tài)方法
          BufferedImage image=ImageIO.read(ClassLoader.getSystemResourceAsStream(gifName));

          或者

          Image image=Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource(gifName));

          這兩種方式可以成功地讀取gif文件,但是對于gif動畫,顯示出來地是靜態(tài)的。

          (2)使用其他兩個方法
          Image image=Toolkit.getDefaultToolkit().getImage(this.getClass.getClassLoader().getResource(gifName));

          再這種方式下動畫可以正常顯示了。
          posted on 2007-05-30 21:19 jadmin 閱讀(56) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 禄丰县| 公安县| 屏东市| 宝应县| 临安市| 金秀| 屯留县| 资兴市| 雅江县| 左权县| 二连浩特市| 云浮市| 长垣县| 贺州市| 泸溪县| 衡阳市| 浦城县| 雷州市| 济南市| 绩溪县| 临海市| 南宫市| 南丹县| 明水县| 江安县| 龙口市| 青海省| 武城县| 岑巩县| 界首市| 剑河县| 伊宁市| 旌德县| 合江县| 达日县| 米林县| 融水| 札达县| 广元市| 栾城县| 遵化市|