目次
Filesクラスでファイル読み込み
Files.readString(Java 11以降)
Java11以降のバージョンであれば「Files.readString」でファイルの内容を簡単にStringに代入することができます。
[Files.readStringの使用例]
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 FileReadStringSample {
public static void main(String[] args) {
Path path = Paths.get("C:\\work\\sample.txt");
try {
String text = Files.readString(path, StandardCharsets.UTF_8);
System.out.println(text);
} catch (IOException e) {
System.out.println("ファイル読み込みに失敗");
}
}
}[実行結果]
あいうえお かきくけこ さしすせそ たちつてと なにぬねの
スポンサーリンク
Files.readAllLines(Java7以降)
Java7以降のバージョンであれば「Files.readAllLines」でファイルの内容を簡単にStringのListに代入することができます。
[Files.readAllLinesの使用例]
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class FileReadAllLinesSample {
public static void main(String[] args) {
Path path = Paths.get("C:\\work\\sample.txt");
try {
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
for (String value : lines) {
System.out.println(value);
}
} catch (IOException e) {
System.out.println("ファイル読み込みに失敗");
}
}
}[実行結果]
あいうえお かきくけこ さしすせそ たちつてと なにぬねの
FileReaderクラスでファイル読み込み
ファイル読み込みの基本であるFileReaderでファイルを一行ずつ読み込むことができます。ただし、この方法は文字コードを指定することができません。(文字コードを指定する場合は、FileInputStreamを使用します)
[FileReaderの例]
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderSample {
public static void main(String[] args) throws IOException {
File file = new File("C:\\work\\sample.txt");
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String text;
while ((text = reader.readLine()) != null) {
System.out.println(text);
}
} catch (FileNotFoundException e) {
System.out.println("ファイルが存在しない");
} catch (IOException e) {
System.out.println("ファイル読み込みに失敗");
} finally {
if (reader != null) {
reader.close();
}
}
}
}[実行結果]
あいうえお かきくけこ さしすせそ たちつてと なにぬねの
スポンサーリンク
FileReaderでファイルを読み込むときは、BufferedReaderのcloseを呼び出すのを忘れないように注意が必要です。(※FileReaderのcloseはBufferedReader.closeの中で呼び出されている)

closeの書き忘れを防ぐためにも、Java7以降で使えるtry-with-resourcesを使うことをお勧めします。※try-with-resources文は、処理の終わりで各リソースを確実に閉じてくれる
[try-with-resourceを使った場合の例]
public static void main(String[] args) {
File file = new File("C:\\work\\sample.txt");
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String text;
while ((text = reader.readLine()) != null) {
System.out.println(text);
}
} catch (FileNotFoundException e) {
System.out.println("ファイルが存在しない");
} catch (IOException e) {
System.out.println("ファイル読み込みに失敗");
}
}InputStreamReaderで文字コードを指定してファイル読み込み
InputStreamReaderを使用することで、文字コードを指定してファイルを一行ずつ読み込むことができます。
[InputStreamReaderの例] ※try-with-resourcesを使用
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class InputStreamReaderSample {
public static void main(String[] args) {
File file = new File("C:\\work\\sample.txt");
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) {
String text;
while ((text = reader.readLine()) != null) {
System.out.println(text);
}
} catch (FileNotFoundException e) {
System.out.println("ファイルが存在しない");
} catch (IOException e) {
System.out.println("ファイル読み込みに失敗");
}
}
}
[実行結果]
あいうえお かきくけこ さしすせそ たちつてと なにぬねの
helpful
この記事は役に立ちましたか?
