在applet中读取文件

时间:2009-02-22 09:58:39

标签: java file applet

您好我想要读出服务器上的文件。 我通过参数

获取文件的路径
<PARAM name=fileToRead value="http://someserver.de/file.txt">

当我现在启动applet后发生错误

引起: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);
                        } 

3 个答案:

答案 0 :(得分:3)

 File theFile = new File(uri);

不是正确的方法。您访问的是URL,而不是文件。

您的代码应如下所示:

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

答案 1 :(得分:1)

您正在尝试将文件作为文件打开,这不符合文件:// uri,正如错误所示。

如果你想使用一个URL,我建议你只使用url.openStream(),这应该更简单。

答案 2 :(得分:1)

除非从applet来自的同一服务器/端口访问该文件,否则您需要对applet进行签名。