您好我想要读出服务器上的文件。 我通过参数
获取文件的路径<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);
}
答案 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进行签名。