2012/05/19

Javaでテキストをファイルに書き込む

テキストファイルに書き込むを行うとき必要になる情報は、次の3つであることが多いです。

  • ファイルパス または ファイル名
  • エンコーディング
  • 追加書き込みかどうか

あとは1行ずつ書き込むこともあれば、テキストを一気に書き込んでしまうこともあるでしょう。

今回は、テキストデータをファイルに書き込む方法をご紹介します。

2012/05/13

Javaの拡張for文でテキストファイルを1行ずつ読み込む方法

前回、「Javaでテキストファイルの読み込みを行う」をご紹介しました。
この方法で処理できる場合は良いですが、大きなテキストファイルの内容を1行ずつ読み込んで処理したい時や
CSVを1行ずつ読み込んで処理したい時があります。

テキストファイルを1行ずつ読み込む時は、一般的に BufferedReader.readLine() を使います。

しかし、この方法でプログラムを組むと、ソースが長くなり読みにくくなる人が多いと思います。
テキストファイルを読み込む処理と、テキスト内容を処理する部分をちゃんと分けて書けるとソースが読みやすくなりますが、
直感的に読みにくくなってしまうのがJavaの弱点ではないかと思います。

そこで、拡張for文を使って完結に、読みやすいソースをご紹介します。

Javaで次のようなコードを目指します!
(他の言語では、何もしなくてもこれで読めてしまうことが多いです。Pythonとか。)

File file = new File("sample.txt");
for (String line : file) {
 // テキストファイルの1行に対する処理を記述する
 System.out.println(line);
}
上記のように書けると便利だと思いませんか?

2012/05/08

Javaでテキストファイルの読み込みを行う

Javaでテキストファイルを読み込む場合は、Reader関連のクラスを利用します。
InputStream関連は、イメージデータなどのバイトデータを扱うクラスです。
テキストを扱うには向いていないので注意が必要です。

2012/05/03

JavaでXMLプロパティの読み書きを行う

Javaのプロパティファイルは、手動でASCIIコードに変換するか、プロパティエディタを利用しないと扱えない。
特に日本語をプロパティファイルに書き込みたい場合は苦労します。

そこでプロパティファイルをXMLで定義してしまえば、ASCIIコード変換もプロパティエディタも必要ありません。

XMLにするとパースが面倒と思われますが、パースする必要もありません。

JavaでXMLプロパティを扱う方法をご紹介します。