前回はファイルの入出力やリーダ、ライタについて述べてきましたが、
これらに加えて、Filesクラスには簡易的な読み込みメソッド及び書き込みメソッドが
提供されています。
それでは具体的に見ていきましょう。
// ファイルの内容をバイト配列で読み込む
Path path = Paths.get("test.txt");
byte[] bytes = Files.readAllBytes(path);
たった2行でバイト配列読み込みを記述出来ましたね!次にファイルの内容を文字列で読み込み
// ファイルの内容を文字列で読み込む
Path path = Paths.get("test.txt");
// ファイルの内容を1行ごとの List として読み込み
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
// 読み込んだファイルの内容をコンソールに出力
for(String line: lines) {
System.out.println(line);
}
Files.readAllLines()メソッドの第2引数では文字コードをjava.nio.charset.Charsetで指定できますが
第2引数を省略した場合はUTF-8で読み込まれます。
次に書き込みを行うメソッドを見てみましょう。
書き込みは Files.write() メソッドで、Pathが示すファイルにバイト配列または文字列を
書き出すことができます。
ファイルが存在しない場合は作成され、すでに存在する場合は上書きされます。
// バイト配列または文字列をファイルに書き出す
Path path = Paths.get("test.txt");
// バイト配列をファイルに書き出す
byte[] bytes = ・・・
Files.write(path, bytes);
// 文字列をファイルに書き出す
List<String> lines = ・・・
Files.write(path, lines, Charset.forName("UTF-8"));
なお、Files.write()メソッドの引数には java.nio.files.OpenOption を指定でき、
ファイルの書き込みモードを指定できます。
たとえば以下のようにすると、ファイルを上書きするのではなく、追記で書き込みが行われます。
Files.write(path, lines, Charset.forName("UTF-8"), StandardOpenOption.APPEND);
今日はこのへんにしておきましょう。
それでは、また!
人気ブログランキングへ
0 件のコメント:
コメントを投稿