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);
                        } 
4

3 に答える 3

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...)
}
于 2009-02-22T10:08:16.943 に答える
1

エラーが示唆するように、file:// uri に従わないファイルとして開こうとしています。

URL を使用する場合は、単純な url.openStream() を使用することをお勧めします。

于 2009-02-22T10:06:01.080 に答える
1

ファイルがアプレットの送信元と同じサーバー/ポートからアクセスされていない限り、アプレットに署名する必要があります。

于 2009-02-22T17:06:16.797 に答える