サーバーからテキストデータを読む

ファイル名をURLに変えて

ファイルから入力で作成したFileRead.javaのファイルを行ごとに読むプログラムを変更してサーバー上のテキストファイルを読めるようにします。

URLの扱いをjavaがすべて裏でやってくれるので、とても簡単です。

プログラム名 URLFileRead.java

/** 指定された URLのファイルからテキストデータを読み込む */
import java.io.*;
import java.net.*;
public class URLFileRead {
    public static void main( String[] args ) {
        try {
            URL url = new URL( args[0] );
            InputStream strm = url.openStream();
            
            InputStreamReader in = new InputStreamReader(strm);
            BufferedReader inb = new BufferedReader(in);
            String line;
            while( ( line = inb.readLine() ) != null ){
                System.out.println( line );
            }
            inb.close();
            in.close();
            strm.close();
        }
        catch( IOException e ){
            System.err.println( args[0] + "がちがいませんか?" );
        }
    }
}

次のように使います。

java URLFileRead http://www.st.seiai.ed.jp/index.html

これでhtmlファイルが読み出され、文字として表示されます。

ただし、文字コードの変換をしていないので、文字コードが合っていないファイルは文字化けします。

URLはローカルなファイルも指定できます。javaプログラムが入っているディレクトリにはmondai.txtというファイルがあるはずです。

$ java URLFileRead file:mondai.txt

本校の場合ユーザー名がhogeならばこれは次のように書いたものと同じです。

$ java URLFileRead file:/home/hoge/java/mondai.txt

Javaプログラミング
聖愛中学高等学校
http://www.seiai.ed.jp/
Dec.2008
Nov.2012