2009-02-22 57 views
1

嗨,我想讀出位於服務器上的文件。 我得到的文件路徑由參數在小程序中讀取文件

<PARAM name=fileToRead value="http://someserver.de/file.txt"> 

當我現在開始小程序出現下列錯誤

造成的:java.lang.IllegalArgumentException異常:URI方案不是「文件」

有人可以給我一個提示嗎?

BufferedReader file; 
         String strFile = new String(getParameter("fileToRead")); 

         URL url = new URL(strFile); 
         URI uri = url.toURI(); 
         try { 

          File theFile = new File(uri); 
          file = new BufferedReader(new FileReader(new File(uri))); 

         String input = ""; 

          while ((input = file.readLine()) != null) { 
           words.add(input); 
          } 
         } catch (IOException ex) { 
          Logger.getLogger(Hedgeman.class.getName()).log(Level.SEVERE, null, ex); 
         } 
+0

請顯示一些代碼,以及您給applet的URL。 – 2009-02-22 10:00:36

回答

1

你試圖打開一個文件,不遵循下面的文件:// uri,正如錯誤所示。

如果你想使用一個URL,我建議你只使用url.openStream(),它應該更簡單。

+0

好吧,我通過訪問該文件作爲資源,現在它工作:) – 2009-02-22 11:33:55

3
File theFile = new File(uri); 

不是正確的方法。您訪問的是網址,而不是文件。

您的代碼應該是這樣的:

try 
{ 
URL url = new URL(strFile); 
InputStream in = url.openStream(); 
(... read file...) 
in.close(); 
} catch(IOException err) 
{ 
(... process error...) 
} 
+0

好吧我這樣做,在netbeans它的工作,但在瀏覽器中打開小程序不讀取數據。這裏有什麼可能是錯的? – 2009-02-22 10:11:49

1

您將需要除非該文件從該小程序的來源相同的服務器/端口的訪問對Applet簽名。