正在學習web start ,在裝載資源時遇到一個問題,麻煩給看看:
使用classloader裝載圖片沒有問題,正常;
但在裝載文件時出現問題,通過web start運行后顯示:系統找不到指定的路徑
PS:
1、該文件位於一個jar檔中,會在web start運行時下載到本地
2、未采用jnlp api

解决方案 »

  1.   

    import包正確
    奇怪的是:通過
    ClassLoader cld =getClass().getClassLoader();
    String xmlFileName="src/a.xml";
    URL xmlUrl=cld.getResource(xmlFileName);
    BufferedReader br=new BufferedReader(new InputStreamReader(xmlUrl.openStream()));
    while((str=br.readLine())!=null){
    System.out.println(str);
    bw.write(br.readLine());
    }
    ..
    這段代碼可以看到文檔的內容,但是使用以下兩種方式均不能成功得到File對象:
    1、File file=new File("src/a.xml");
    2、File file=new File(xmlUrl.getFile())
    這兩種方式在eclipse運行都沒有問題,但通過web start運行卻不成功。
    均提示類似系統找不到指定路徑的信息
      

  2.   

    我不知道有沒有說清楚
    再說一下,另外說一下我的解決方式
    問題:web start支持的裝載資源的方式:使用classloader載入,可以得到URL,繼而得到Stream,但無法獲得file對象實例
    (獲取file對象實例,有些苦衷。這是我調用的一個方法中的參數,沒法傳stream)
    解決:(比較鬱悶的方式)
    再獲得Stream之後,在本地建立一個同樣的文件,然後在new File的時候傳入本地文件的URL,這樣就沒有問題了
    廢話一下:
    感覺問題不大,但還是花了蠻長時間,嘗試不同方式,最終解決了問題還不錯!嘿嘿