راه های زیادی برای این کار وجود دارد ولی من استفاده از Stream ها در Java 8 رو ترجیح می دهم:
String fileName = "c://lines.txt";
//read file into stream, try-with-resources
try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
stream.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
البته قسمت خواندن فایل رو با BufferedReader هم می توان انجام داد:
String fileName = "c://lines.txt";
//read file into stream, try-with-resources
try (Stream<String> stream = Files.newBufferedReader(Paths.get(fileName)).lines()) {
stream.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
یک روش قدیمیتر هم استفاده از کلاس Scanner است:
String fileName = "c://lines.txt";
try (Scanner scanner = new Scanner(new File(fileName))) {
while (scanner.hasNext()){
System.out.println(scanner.nextLine());
}
} catch (IOException e) {
e.printStackTrace();
}
و در نهایت یک روش خیلی قدیمی که با JDK 1.1 هم کار می کند:
String fileName = "c://lines.txt";
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}