Java でファイルを文字列に読み込む方法
-
Java 11 でファイルから文字列を読み取るための
Files.readString()
-
Java 8 でファイルを文字列に読み取るための
Files.lines(file_path)
-
Java 7 でファイルから文字列を読み込むには
Files.readAllLines()
を使用する -
ファイルから文字列を読み取るための
BufferedReader.readLine
ファイルの内容を読み込んで Java 文字列に変換する方法を紹介します。
以下は testFile.txt
ファイルで、Java の文字列として読み込みたい内容が含まれています。
A B C D 1 2 3
Java 11 でファイルから文字列を読み取るための Files.readString()
Java 11 には、新しいメソッド Files.readString()
が導入されています。これにより、多くのコードを記述せずに、ファイルを簡単に読み取ることができます。
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path path = Paths.get("/Projects/testFile.txt");
try {
String content = Files.readString(path);
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
出力:
A
B
C
D
1
2
3
Java 8 でファイルを文字列に読み取るための Files.lines(file_path)
Java 8 では Stream
API が導入され、与えられたデータセットを様々な方法で処理するようになった。
java.NIO
パッケージの一部であるクラス Files
には lines()
メソッドがあり、テキストファイルから Stream<String>
または文字列のストリームを生成します。
Stream API を使ってファイルの内容を Java の文字列に変換してみましょう。
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
try {
Path path = Paths.get("/Projects/testFile.txt");
Stream<String> lines = Files.lines(path);
String content = lines.collect(Collectors.joining(System.lineSeparator()));
System.out.println(content);
lines.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
出力:
A
B
C
D
1
2
3
ストリームを使用した後は、必ずストリームを閉じることを忘れないようにしましょう。lines.close()
に注意してください。
これは、内容が出力された後にストリームが閉じられるようにするものです。
Java 7 でファイルから文字列を読み込むには Files.readAllLines()
を使用する
Java 7 が java.nio
パッケージに新しいメソッドを導入するまでは、ファイルの読み込みは簡単ではありませんでした。それは Files.readAllLines()
メソッドで、ファイルから文字列のリストを返します。各文字列はファイルの一行を表します。
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) {
try {
Path path = Paths.get("/Projects/testFile.txt");
List<String> contentList = Files.readAllLines(path, StandardCharsets.UTF_8);
System.out.println(contentList);
} catch (IOException e) {
e.printStackTrace();
}
}
}
出力:
[A, B, C, D, 1, 2, 3]
ファイルから文字列を読み取るための BufferedReader.readLine
また、入力ストリームからテキストを読み込む BufferedReader
クラスを使ってファイルの内容を取得することもできます。
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) throws IOException {
String path = "/Projects/testFile.txt";
try (BufferedReader br = new BufferedReader(new FileReader(path))) {
String line = br.readLine();
StringBuilder sb = new StringBuilder();
while (line != null) {
sb.append(line).append("\n");
line = br.readLine();
}
String fileAsString = sb.toString();
System.out.println(fileAsString);
}
}
}
出力:
A
B
C
D
1
2
3
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn関連記事 - Java String
- Java で 16 進文字列のバイト配列を変換する方法
- Java で文字列から部分文字列を削除する方法
- Java で文字列から文字列配列への変換を実行する方法
- Java 文字列をバイトに変換する方法
- Java でランダムな文字列を生成する
- Java のスワップメソッド