CodeJava
Mã hóa niềm đam mê của bạn
- Trang chủ >
- Java SE >
- Tập tin vào/ra
Tìm hiểu tệp Java IO.
- Đọc/Ghi tệp nhị phân
- Đọc/Ghi tệp văn bản
- Đọc từng dòng tệp văn bản
- Liệt kê các tập tin và thư mục
- Sao chép tệp hoặc thư mục
- Đổi tên/Di chuyển tệp hoặc thư mục
- Dọn dẹp/Xóa thư mục
- Đọc đầu vào từ người dùng
- Cách sử dụng tệp RandomAccess
- DataInputStream và DataOutputStream
- FileInputStream và FileOutputStream
- FileReader và FileWriter
- Hướng dẫn quét Java
- Ví dụ tuần tự hóa Java
- Tại sao tuần tự hóa trong Java?
- Hiểu bên ngoài Java
- Đọc nội dung tệp Zip
- Giải nén tệp Zip
- Nén tệp thành Zip
- Nén thư mục thành Zip
- Đọc/Ghi Cấu hình
- Thực thi các lệnh của hệ điều hành
- API dịch vụ xem tệp
Cách đọc và ghi tệp văn bản trong Java
Chi tiết Viết bởi Nam Hà MinhCập nhật lần cuối vào ngày 28 tháng 7 năm 2019. In Email
1. Trình đọc, InputStreamReader, FileReader và BufferedReader
Reader là lớp trừu tượng để đọc các luồng ký tự. Nó thực hiện các phương pháp cơ bản sau.- đọc() . đọc một ký tự.
- read(char[]) . đọc một mảng ký tự.
- bỏ qua(dài) . bỏ qua một số ký tự.
- đóng() . đóng luồng.
2. Nhà văn, OutputStreamWriter, FileWriter và BufferedWriter
- write(int) . viết một ký tự.
- ghi(char[]) . viết một mảng ký tự.
- ghi(Chuỗi) . viết một chuỗi.
- đóng() . đóng luồng.
3. Mã hóa ký tự và bộ ký tự
Khi xây dựng một đối tượng đọc hoặc ghi, mã hóa ký tự mặc định của hệ điều hành được sử dụng (e. g. Cp1252 trên Windows). FileReader reader = new FileReader("MyFile.txt"); FileWriter writer = new FileWriter("YourFile.txt");Vì vậy, nếu chúng tôi muốn sử dụng một bộ ký tự cụ thể, hãy sử dụng InputStreamReader hoặc OutputStreamWriter instead. For example:InputStreamReader reader = new InputStreamReader( new FileInputStream("MyFile.txt"), "UTF-16");That creates a new reader with the Unicode character encoding UTF-16.And the following statement constructs a writer with the UTF-8 encoding:OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream("YourFile.txt"), "UTF-8");Trong trường hợp chúng tôi muốn sử dụng BufferedReader, chỉ cần bọc InputStreamReader . inside, for example: InputStreamReader reader = new InputStreamReader( new FileInputStream("MyFile.txt"), "UTF-16"); BufferedReader bufReader = new BufferedReader(reader);Và ví dụ về BufferedWriter . OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream("YourFile.txt"), "UTF-8"); BufferedWriter bufWriter = new BufferedWriter(writer);Bây giờ, hãy xem xét một số ví dụ hoàn chỉnh.4. Đọc Java từ ví dụ tệp văn bản
Chương trình nhỏ sau đây đọc từng ký tự từ tệp MyFile. txt và in tất cả các ký tự ra bảng điều khiển đầu ra. package net.codejava.io; import java.io.FileReader; import java.io.IOException; /** * This program demonstrates how to read characters from a text file. * @author www.codejava.net * */ public class TextFileReadingExample1 { public static void main(String[] args) { try { FileReader reader = new FileReader("MyFile.txt"); int character; while ((character = reader.read()) != -1) { System.out.print((char) character); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }Ví dụ sau đọc một tệp văn bản với giả định rằng mã hóa là UTF-16. package net.codejava.io; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /** * This program demonstrates how to read characters from a text file using * a specified charset. * @author www.codejava.net * */ public class TextFileReadingExample2 { public static void main(String[] args) { try { FileInputStream inputStream = new FileInputStream("MyFile.txt"); InputStreamReader reader = new InputStreamReader(inputStream, "UTF-16"); int character; while ((character = reader.read()) != -1) { System.out.print((char) character); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }Và ví dụ sau sử dụng BufferedReader để đọc từng dòng của tệp văn bản (đây là cách hiệu quả và được ưa chuộng nhất). package net.codejava.io; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /** * This program demonstrates how to read characters from a text file * using a BufferedReader for efficiency. * @author www.codejava.net * */ public class TextFileReadingExample3 { public static void main(String[] args) { try { FileReader reader = new FileReader("MyFile.txt"); BufferedReader bufferedReader = new BufferedReader(reader); String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }5. Ví dụ về ghi Java vào tệp văn bản
Trong ví dụ sau, FileWriter được sử dụng để viết hai từ “Xin chào thế giới” và “Tạm biệt. ” vào tệp có tên MyFile. txt . package net.codejava.io; import java.io.FileWriter; import java.io.IOException; /** * This program demonstrates how to write characters to a text file. * @author www.codejava.net * */ public class TextFileWritingExample1 { public static void main(String[] args) { try { FileWriter writer = new FileWriter("MyFile.txt", true); writer.write("Hello World"); writer.write("\r\n"); // write new line writer.write("Good Bye!"); writer.close(); } catch (IOException e) { e.printStackTrace(); } } }Lưu ý rằng, người viết mặc định sử dụng bảng mã ký tự mặc định của hệ điều hành. Nó cũng tạo một tệp mới nếu không tồn tại hoặc ghi đè lên tệp hiện có. Nếu bạn muốn nối văn bản vào một tệp hiện có, hãy chuyển cờ boolean true cho hàm tạo của lớp nhà văn. FileReader reader = new FileReader("MyFile.txt"); FileWriter writer = new FileWriter("YourFile.txt");0Ví dụ sau sử dụng BufferedReader bao quanh FileReader để nối thêm văn bản vào . InputStreamReader reader = new InputStreamReader( new FileInputStream("MyFile.txt"), "UTF-16");0Đây là cách ưa thích để ghi vào tệp văn bản vì BufferedReader cung cấp cách hiệu quả để ghi các luồng ký tự. Và ví dụ sau chỉ định mã hóa ký tự cụ thể (UTF-16) khi ghi vào tệp. InputStreamReader reader = new InputStreamReader( new FileInputStream("MyFile.txt"), "UTF-16");1Chương trình này viết một số chuỗi Unicode (tiếng Việt) vào tệp văn bản được chỉ định. LƯU Ý. Từ Java 7, bạn có thể sử dụng câu lệnh try-with-resources để đơn giản hóa mã mở và đóng trình đọc/ghi. Ví dụ. InputStreamReader reader = new InputStreamReader( new FileInputStream("MyFile.txt"), "UTF-16");2Người giới thiệu
- Bài học. I/O cơ bản (Hướng dẫn Java)
Tệp liên quan IO Hướng dẫn
- Cách đọc và ghi tệp nhị phân trong Java
- Cách đọc từng dòng tệp văn bản trong Java
- Các ví dụ về Java IO FileReader và FileWriter
Các hướng dẫn IO tệp Java khác
- Cách liệt kê các tệp và thư mục trong một thư mục trong Java
- Java IO - Ví dụ về thao tác thư mục và tệp phổ biến
- Ví dụ cơ bản về tuần tự hóa Java
- Hiểu bên ngoài Java với các ví dụ
- Cách thực thi Các lệnh của hệ điều hành trong Java
- 3 cách để đọc đầu vào của người dùng từ bảng điều khiển trong Java
- Ví dụ về thông báo thay đổi tệp với Watch Service API
- Hướng dẫn về máy quét Java và các ví dụ về mã
- Cách nén file định dạng ZIP trong Java
- Cách giải nén tệp ZIP trong Java
Thông tin về các Tác giả
Tệp đính kèm.
Thêm bình luận
Báo cho tôi biết khi có comment mới
Gửi
Bình luận
12345
Arnav2022-01-11 17. 39
Cảm ơn bạn đã giải thích chi tiết bài tập đọc và viết
Vamsh2021-07-15 23. 36
codejava. net/. /
Ravindu10-12-2020 11. 04
Cảm ơn nhiều. Tôi đã gửi bài tập của mình bằng blog của bạn. Đây là một công việc tuyệt vời
D2020-03-20 14. 29
bài viết tuyệt vời. Cảm ơn đã giúp đỡ
Vladan M. Kostic2019-09-11 05. 05
Xin chào, đây là tài liệu hay dành cho nhà phát triển.
Điều quan trọng cần chỉ ra là cũng có các API Java cho phép các nhà phát triển tạo và chỉnh sửa các tệp MS Word, Excel hoặc ODF từ mã Java
Bạn đã thử chưa .
There are a number of use cases on the site and the API itself is well documented.
12345