If you need to read a file line by line in Java, then you can use one of the following three (3) options.
Option 1
You can use the FileReader
and BufferedReader
packages as follows:
File file = new File("./your/file.txt");
try (FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
Option 2
You can also read the lines using Files
and Paths
as follows:
Path filePath = Paths.get("./some/directory", "file.txt");
try (Stream<String> lines = Files.lines( filePath )) {
lines.forEach(System.out::println);
}
catch (IOException e) {
e.printStackTrace();
}
Option 3
You can also use the FileUtils
class from Apache Commons IO as follows:
File file = new File("./your/file.txt");
try {
List<String> lines = FileUtils.readLines(file, Charset.defaultCharset());
} catch (IOException e) {
e.printStackTrace();
}