Java
Beginner
1 min read
Reading Files with Files and BufferedReader
Example
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.util.List;
import java.util.stream.Collectors;
public class ReadingFilesDemo {
public static void main(String[] args) throws IOException {
Path path = Path.of("sample.txt");
// Create a sample file to read
Files.writeString(path, "Line 1: Hello\nLine 2: World\nLine 3: Java IO\n");
// --- Files.readAllLines (loads all into memory) ---
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
System.out.println("readAllLines (" + lines.size() + " lines):");
lines.forEach(l -> System.out.println(" " + l));
// --- Files.readString ---
String content = Files.readString(path, StandardCharsets.UTF_8);
System.out.println("\nreadString length: " + content.length());
// --- BufferedReader (good for large files) ---
System.out.println("\nBufferedReader:");
try (BufferedReader reader =
Files.newBufferedReader(path, StandardCharsets.UTF_8)) {
String line;
int lineNum = 1;
while ((line = reader.readLine()) != null) {
System.out.printf(" %2d: %s%n", lineNum++, line);
}
}
// --- Files.lines() + Stream API ---
System.out.println("\nFiles.lines() + stream:");
try (var stream = Files.lines(path, StandardCharsets.UTF_8)) {
List<String> filtered = stream
.filter(l -> l.contains("Java"))
.collect(Collectors.toList());
System.out.println("Lines containing 'Java': " + filtered);
}
Files.deleteIfExists(path); // cleanup
}
}