Javaプログラミング/Javaの基本

テキストファイル・アクセス(3ページ目)

Javaの基本は一通り覚えた。そんな人のために、もう一歩先の機能を学習していきましょう。まずは、テキストファイルのアクセスからです。

執筆者:掌田 津耶乃

ウインドウ内にテキストを書いてウインドウを閉じると、終了時に自動的に書いたテキストをファイルに保存する。


テキストファイル保存の流れ


ここでは、TextAreaを1つだけFrameに配置してあります。そして、ウインドウを閉じるときの処理を行うWindowMyAdapterに、ウインドウを閉じるときのイベント処理をするwindowClosingを用意し、ここで「saveToFile」というメソッドを実行してからプログラムを終了するようにしてあります。このsaveToFileというメソッドが、テキストファイルに保存するための処理を行う部分になります。

import java.io.*;

最初に、ファイルアクセスに関するクラスは、java.ioパッケージにまとめられています。このため、最初にこのパッケージ内のクラスをimportしておく必要があります。これは忘れないようにしましょう。

では、saveToFileメソッドの処理を見てみましょう。まず、保存するファイル名と、利用するストリームを保管しておく変数を用意しておきます。

String fname = "text_data.txt";
FileWriter writer = null;
BufferedWriter bwriter = null;

ストリームを利用したファイルアクセスは、例外を発生させる場合があるため、try内で行います。そこで、まず最初にこれらを入れておく変数などを用意しておきます。そして、try内で実際の処理を行います。

try {
  writer = new FileWriter(fname);
  bwriter = new BufferedWriter(writer);

まず、new FileWriter(fname)としてFileWriterインスタンスを作成します。引数にファイル名を指定すると、そのファイルに保存するためのFileWriterインスタンスが作成されるのです。そして、このFileWriterを引数に指定して、new BufferedWriterを行います。これで、引数に指定したFileWriterにバッファ機能を付加したBufferedWriterインスタンスが用意できます。このBufferedWriterにあるメソッドを呼び出してテキストを保存すれば、引数に指定したFileWriterを通じて、fnameのファイルに保存がされる、という仕掛けになっています。

bwriter.write(area.getText());

テキストの保存は、BufferedWriterの「write」メソッドを使います。これは、引数に指定したStringをストリームに出力するものです。これで、テキストがファイルに書き出されるのですね。

} finally {
  try {
    bwriter.close();
  } catch (IOException e1) {
    e1.printStackTrace();
  }
}

最後に、finally節で、BufferedWriterの「close」を呼び出してストリームを開放します。ただし、このcloseも例外を発生させる場合があるので、これもtryで囲んで実行してやります。

これでテキストファイルの保存は完了です。慣れない間は、意味など深く考えず「この通りにやればテキストファイルに保存できるんだ」とだけ理解しておけばいいでしょう。何度も使っているうちに、2つのオブジェクトの働きがなんとなくわかってくるんじゃないでしょうか。
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます