第10回Java勉強会

概要

クラスの調べ方(Javadoc)

  • 下-P.229

ファイル操作と入出力

  • 下-P.220

詳細

クラスの調べ方(Javadoc)

http://java.sun.com/javase/ja/6/docs/ja/api/index.html
にてJavaの標準クラスライブラリについての仕様書が公開されています。
上記には以下のようなことについての説明が載っています。

  • パッケージの一覧
    • JavaAPI仕様のトップページです。表の左側にパッケージ名、右側にパッケージの概要が表示されています。
       
  • クラスやインターフェース一覧(パッケージごと)
    • クラス階層
      そのクラスがどういった継承関係にあるのかをツリー形式の表示で確認することが出来ます。
    • クラスのスーパークラス、どのインターフェースをimplementsかがわかります。
    • そのクラスについての説明が書いてあります。
       
  • メソッドやフィールド一覧(クラスやインターフェースごと)
    • フィールドの概要
      フィールドがstaticかどうか、フィールドの型、名称、説明を確認できます。
       
    • コンストラクタの概要
      そのクラスで定義されているコンストラクタについて説明が書かれています。
      引数について、コンストラクタの概要について確認できます。
    • メソッドの概要
      staticかどうか、戻り値の型、メソッド名、引数、メソッドの説明を確認できます。
       
    • フィールドの詳細
      フィールド定義の詳細(アクセス修飾子、staticかどうか、型、名称)、フィールドの詳細な説明が確認できます。
       
    • コンストラクタの詳細
      アクセス修飾子、引数、詳細な説明、発生する例外
       
    • メソッドの詳細
      アクセス修飾子、staticかどうか、詳細な説明、戻り値の説明、発生する例外について確認できます。

ファイル操作と入出力

プログラムでファイルを読み込んで、その内容について処理を行う場合や
プログラムの結果をファイルに書き出すなどのためにファイル操作について以下に説明します。

  • ファイル読み込みの手順
    • ファイル読み込みクラスの生成
    • ファイルを読み込む
    • 読み込み処理の終了
       
  • ファイル読み込みサンプルコード 以下のコードを実行する前に、プロジェクトフォルダのsrcフォルダに読み込むファイルを用意してください。
    ファイル名:FileReadMain?
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    
    public class FileReadMain {
    
        public static void main(String[] args) {
    
            // 読み込むファイルのパスを指定する
            // ファイルクラスのインスタンスを生成する
            // File()なか文字列は下記の例に習って自分のPCのファイルのパスを設定してください
            File file = new File(
                    "C:/eclipse/workspace/JavaStudy_20080218_第10回/readsample.txt");
    
            // ファイル読み込み用クラス
            BufferedReader br = null;
    
            try {
    
                // ファイル読み込み用クラスを生成する
                br = new BufferedReader(new FileReader(file));
    
                // 読み込み文字列を入れておくために用意
                String line = "";
    
                // readLine()で一行ずつファイルの内容を読み込む
                // 読み込み文字列がなければnullが返ってくるので
                // それまで処理をループする
                while ((line = br.readLine()) != null) {
                    
                    // 読み込んだ文字列を表示
                    System.out.println(line);
                }
    
            } catch (Exception e) {
    
                System.out.println(e);
    
            } finally {
                
                try {
                    br.close();
                } catch (IOException e) {
                    System.out.println("ファイルのクローズに失敗しました");
                }
    
            }
    
        }
    
    }
  • ファイルを読み込むクラス FileReader?クラス
    ファイルの文字列を読み込むために使用します。
     
  • ファイル読み込みをバッファリングする BufferedReader?クラス
    ファイル読み込みを効率的に行うために使用します。
     
    • バッファリングとは
      データの入出力やり取りをメモリに溜め込んで効率的に処理を行う方法です。
       
    • なぜバッファリングをするのか
      ファイルなどの置かれている場所はHDD(ハードディスク)やFDD(フロッピーディスク)などのディスク類となるが
      プログラムからそれらにアクセスする(ディスクアクセス)のは時間がかかる処理となります。
      ですので、ディスクより効率の良いメモリ上にバッファというものを取り、そこにファイルのデータを溜め込んで処理を行ったほうが効率がよくなるからです。
       
    • 上記のサンプルでは、FileReader?だけでも読み込みはできるのだがより効率的な処理を行うためにBufferedReader?を使用した。
      こういったクラスの使い方をFileReader?BufferedReader?でラップ(包む)するという。
  • ファイルを書き込むクラス FileWriter?クラス
  • ファイル読み込みサンプルコード
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class FileWriteMain {
    
        public static void main(String[] args) throws IOException {
            
            BufferedWriter bw = null;
            
            try {
                bw = new BufferedWriter(new FileWriter("write.txt"));
                
                for (int i = 0; i < 10; i++) {
                    bw.write("hogehoge" + i + "\r\n");
                }
            } catch (IOException e) {
                System.out.println(e);
            } finally {
                bw.close();
            }
    
        }
    }

Java勉強会カリキュラムに戻る

}}


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-12-20 (土) 13:47:39 (626d)