JavaのFileReaderとFileWriterでファイルの読み込みと書き込みを行うサンプルです。
(確認環境:Java8)
サンプル | FileReaderでファイルを読み込む |
FileWriterでファイルに書き込む |
FileReaderでファイルを読み込む
public FileReader(File file) throws FileNotFoundException |
package test1;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Test1 {
public static void main(String[] args) {
String fileName = "D:\\Test1\\test1.txt";
File file = new File(fileName);
if (!file.exists()) {
System.out.print("ファイルが存在しません");
return;
}
try (FileReader fileReader = new FileReader(file)) {
int data;
while ((data = fileReader.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
10行目は、ファイルとpathです。円マークが2つありますが1つめはエスケープをしています。
円記号(バックスラッシュ)を文字として表示します。
14行目は、existsメソッドでファイルの存在確認をしています。
ビックリマークは否定を意味します。→ファイルがなかったら15行目以降を実行します。
19行目は、try-with-resources文です。
tryのブロックを抜けるときにリソース(fileReader)がcloseされます。
21行目のfileReader.read()は、文字が終了すると-1を返して変数dataにセットします。
変数dataが-1ではない間は、while文で処理を繰り返します。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/FileReader.html
FileWriterでファイルに書き込む
public FileWriter(File file) throws IOException |
package test1;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
String fileName = "D:\\Test1\\test1.txt";
File file = new File(fileName);
if (!file.exists()) {
System.out.print("ファイルが存在しません");
return;
}
try (FileWriter fileWriter = new FileWriter(file)) {
List<String> textList = new ArrayList<>();
textList.add("こんにちは");
textList.add("はじめまして");
for (String text : textList) {
fileWriter.write(text);
fileWriter.write("\r\n"); //改行
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
12行目は、ファイルとpathです。円マークが2つありますが1つめはエスケープをしています。
円記号(バックスラッシュ)を文字として表示します。
16行目は、existsメソッドでファイルの存在確認をしています。
ビックリマークは否定を意味します。→ファイルがなかったら17行目以降を実行します。
21行目は、try-with-resources文です。
tryのブロックを抜けるときにリソース(fileWriter)がcloseされます。
27行目のfileWriter.write()で文字をファイルに書き込みます。
28行目は、改行を行います。FileWriterで改行をする場合は"\r\n"を使用します(Windows)。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/FileWriter.html
関連の記事