プログラム悪戦苦闘日記

はてなダイアリーからの移行(遺物)

Appletからサーバーにあるテキストファイルを読む

 画像ファイルは、

createImage(applet.getCodeBase() + "hoge.gif");

で読み込むことが出来るので、テキストファイルも読み込むことが出来るはず。
java.io.Fileクラスを調べてみたら、URIを引数に取るコンストラクタがあるので、

new BufferedReader(
    new FileReader(
        new File(
            new URI(applet.getCodeBase().toString() + "hoge.txt"))));

と書いてみた。そうするとURIにファイルがないとか出てきて読めない。
いろいろ調べてみると、どうやら、URL#openStream()を使わないと出来ないらしい。
 
結果がこれ↓

import java.awt.*;
import java.io.*;
import java.net.*;
import javax.swing.*;

public class TestApplet extends JApplet {
    public void init() {
        try {
            URL url = new URL("http://www003.upp.so-net.ne.jp/naptune/applet/hoge1.txt");
            BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));

            try {
                String line;
                for(int i=1; (line = reader.readLine()) != null; ++i) {
                    System.out.println("" + i + ":" + line);
                }
            }finally {
                reader.close();
            }
        }catch(Exception e) {
            System.out.println(e.toString());
        }
    }
}

これでなんとかできました。やれやれ。
 
このページが役に立つかも。
http://www.gimlay.org/~javafaq/javafaq.html (Java FAQのページ)