こんにちは!しーま(@s59shima)です。
いつもブログをご覧いただきありがとうございます。
今回は、こんな悩みや疑問を持った人に向けて記事を書きました。

テキストファイルを効率よく、読み込んだり・書き込んだりしたいけど、何か良い方法はないかな!?
try-with-resources構文を用いてファイル操作をより簡潔に実装したい方にはおすすめの記事です。
Java7 以降から簡潔に実装が可能
Java7以降からtry-with-resources構文を用いて、より簡潔に実装することが可能となりました。
そのため、Java6までの書き方とは異なり、非常にわかりやすいコードになっています。
Java7から誕生したPathsクラス・Filesクラスを使用してテキストファイルの読み書きを実現していきましょう!
テキストファイルを読み書きするために使用する主なクラスはこの4つです。
- Paths(Java7から誕生)
- Files(Java7から誕生)
- BufferedReade
- BufferedWriter
テキストファイルの読み込み
読み込みに使用するテキストファイルを用意します。
格納場所 | Dドライブ ⇒ ws_javaフォルダ |
ファイル名 | readfile.txt |
ファイルの中身はこのようにします。
okinawa
tokyo
osaka
サンプルのソースコードはこちらです。
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Sample {
public static void main(String[] args) {
Path path = Paths.get( "D:/ws_java/readfile.txt" );
try ( BufferedReader reader = Files.newBufferedReader( path, StandardCharsets.UTF_8 ) ) {
for ( String line; (line = reader.readLine()) != null; ) {
System.out.println( line );
}
} catch ( IOException e ) {
System.out.println( e );
}
}
}
簡単にプログラムを説明すると、対象のテキストファイルを読み込み、行単位(1行)で取得・処理しています。
実行結果は以下の通り
okinawa
tokyo
osaka
テキストファイルの書き込み
書き込みに使用するテキストファイルを用意します。
格納場所 | Dドライブ ⇒ ws_javaフォルダ |
ファイル名 | writefile.txt |
サンプルのソースコードはこちらです。
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Sample {
public static void main(String[] args) {
Path path = Paths.get( "D:/ws_java/writefile.txt" );
try ( BufferedWriter writer = Files.newBufferedWriter( path, StandardCharsets.UTF_8 ) ) {
writer.append("okinawa" );
writer.newLine();
writer.append( "tokyo" );
writer.newLine();
writer.append( "osaka" );
} catch ( IOException e ) {
System.out.println( e );
}
}
}
プログラムを実行すると、指定したテキストファイルが作成され、ファイルの中身が下記のようになっていることがわかります。
okinawa
tokyo
osaka
本記事のまとめ
今回は、テキストファイルの操作(読み込み・書き込み)について解説しました。
最後まで読んでいただきありがとうございます(*^-^*)
本記事の内容をまとめると以下の通りです。
- Java7以降よりtry-with-resources構文でファイル操作がより簡潔に実装可能
- Java7以降よりPathsクラス・Filesクラスが誕生
各ファイルの操作方法を紹介
本ブログで紹介する各ファイル操作(読み込み・書き込み)は下記5つ。
- テキストファイルの読み書き
本記事はココ!
おすすめ記事
「Javaプログラミングをもう一度本格的に勉強したいっ!」という方へ
逆に、「Javaプログラミング以外を本格的に勉強したいっ!」という方へ