Đọc File Trong Java - Lập Trình Từ Đầu
Có thể bạn quan tâm
Đọc file trong Java là một kỹ thuật quan trọng cần phải nắm nếu muốn làm việc sâu hơn với Java. Trước kia, có thể ta đã quen thuộc với việc đọc dữ liệu từ console. Tuy nhiên đối với những file dữ liệu lớn, dài hàng nghìn – hàng triệu dòng thì sẽ xử lý ra sao? Java là một ngôn ngữ mạnh mẽ đã cung cấp cho ta rất nhiều tùy chọn cho từng trường hợp cụ thể.
Các phương thức hỗ trợ đọc file không chỉ trong Java mà hầu hết các ngôn ngữ lập trình khác đều có. Tuy nhiên, tùy vào mỗi ngôn ngữ mà nó lại có cách thức xử lý khác nhau. Đọc file trong Java có thể nói là khá đa dạng ở phương thức hỗ trợ.
Có nhiều lớp có sẵn trong API Java có thể được sử dụng để đọc và ghi tệp trong Java:
- FileReader
- BufferedReader
- Files, Scanner
- FileInputStream
- FileWriter
- BufferedWriter
- FileOutputStream
- …
Sử dụng lớp nào tùy thuộc vào phiên bản Java ta đang làm việc và liệu ta cần đọc byte hay ký tự, kích thước của tệp / dòng,…
2. Đọc file trong Java sử dụng ScannerCách sử dụng Scanner , xuất nhập trên màn hình console trước đây có lẽ đã quá quen thuộc. Khi sử dụng file, Scanner cung cấp 2 phương thức hasNextLine() và nextLine() hỗ trợ đọc file rất đơn giản, gần gũi và dễ sử dụng.
Ví dụ: trước tiên hãy tạo một file text.txt với nội dung bất kỳ nhé
package file; // Import package cần thiết import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; public class ReadFileWithScanner { public static void main(String args[]) throws FileNotFoundException { String url = "D:\\Java\\file-content.txt"; // Đọc dữ liệu từ File với Scanner FileInputStream fileInputStream = new FileInputStream(url); Scanner scanner = new Scanner(fileInputStream); try { while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } } finally { try { scanner.close(); fileInputStream.close(); } catch (IOException ex) { Logger.getLogger(ReadFileWithBufferedReader.class.getName()) .log(Level.SEVERE, null, ex); } } } }Ở đây các bạn có thể đổi đường dẫn tới file đã lưu nhé! Các bạn có thể chỉnh sửa ở dòng code String url = "D:\\Java\\file-content.txt";
Hoặc một ví dụ khác
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ReadFile { public static void main(String[] args) { try { File myObj = new File("filename.txt"); Scanner myReader = new Scanner(myObj); while (myReader.hasNextLine()) { String data = myReader.nextLine(); System.out.println(data); } myReader.close(); } catch (FileNotFoundException e) { System.out.println("Đã xảy ra lỗi."); e.printStackTrace(); } } } 3. Đọc file trong Java sử dụng BufferedReaderCách sử dụng BufferedReader trong Java để đọc file có thể xem là phương pháp dễ sử dụng nhất. BufferedReader là một lớp Java để đọc văn bản từ luồng đầu vào (như tệp) bằng cách đệm và đọc liền mạch các ký tự, mảng hoặc dòng. Để làm việc với BufferedReader trong Java chúng ta có nhiều phương thức:
- void close() : Đóng luồng và giải phóng bất kỳ tài nguyên hệ thống nào được liên kết với nó
- void mark(int readAheadLimit) : Đánh dấu vị trí hiện tại trong luồng. Các lời gọi tiếp theo đến reset() sẽ cố gắng định vị lại luồng đến điểm này.
- boolean markSupported() : Nó được sử dụng để kiểm tra input stream có hỗ trợ các phương thức mark() và reset() không.
- int read() : Đọc một ký tự duy nhất.
- int read(char[] cbuf, int off, int len) : Đọc các phần tử của một mảng.
Khi sử dụng class BufferedReader trong Java để đọc nội dung một file text thì chúng ta có hai cách khác nhau đó là sử dụng phương thức readLine() hoặc read() của class này.
Ví dụ:
package file; // Import package cần thiết import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; public class ReadFileWithScanner { public static void main(String args[]) throws FileNotFoundException { String url = "D:\\Java\\file-content.txt"; // Đọc dữ liệu từ File với Scanner FileInputStream fileInputStream = new FileInputStream(url); Scanner scanner = new Scanner(fileInputStream); try { while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } } finally { try { scanner.close(); fileInputStream.close(); } catch (IOException ex) { Logger.getLogger(ReadFileWithBufferedReader.class.getName()) .log(Level.SEVERE, null, ex); } } } } 4. Sử dụng File và FileReader để đọc file trong JavaPhương pháp này tương tự như việc sử dụng BufferedReader nhưng có phần đơn giản hơn một chút.
Ví dụ:
package file; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; public class ReadFileWithFileAndFileReader { public static void main(String args[]) throws IOException { String url = "D:\\Java\\file-content.txt"; // Đọc dữ liệu từ File với File và FileReader File file = new File(url); BufferedReader reader = new BufferedReader(new FileReader(file)); try { String line = reader.readLine(); while (line != null) { System.out.println(line); line = reader.readLine(); } } catch (FileNotFoundException ex) { Logger.getLogger(ReadFileWithBufferedReader.class.getName()) .log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ReadFileWithBufferedReader.class.getName()) .log(Level.SEVERE, null, ex); } finally { try { reader.close(); // file.close(); } catch (IOException ex) { Logger.getLogger(ReadFileWithBufferedReader.class.getName()) .log(Level.SEVERE, null, ex); } } } }Từ khóa » đọc File Txt Trong Java
-
3 Cách đọc File Trong Java Phổ Biến Nhất - NIIT - ICT Hà Nội
-
Tổng Hợp Cách đọc File Text Trong Java - Deft Blog
-
Cách đọc Ghi File Trong Java - Lập Trình Không Khó
-
Đọc Ghi File Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
Làm Việc Với File Trong Java
-
Cách đọc File Trong Java
-
Java 72. Cách đọc Dữ Liệu Văn Text Từ File Trong Lập Trình Java
-
Java - Bài 26: Đọc Dữ Liệu Từ File Với Scanner - YouTube
-
Các Phương Pháp đọc/ghi Tệp Dữ Liệu Khác Nhau Trong Java - FUNiX
-
Hướng Dẫn Đọc File Text Trong Java Sử Dụng "BufferedReader"
-
Đọc Dữ Liệu Từng Dòng Từ File Trong Java Sử Dụng BufferedReader
-
Java: Đọc, Ghi Và Tạo Tập Tin | V1Study
-
File Và I/O Trong Java