Video: [Khóa học lập trình Java nâng cao]Đọc ghi file FileInputStream, FileOutputStream, ObjectInputStream 2025
Nhiều chương trình Java đọc các ký tự từ bàn phím của máy tính. Các chương trình này sử dụng những thứ như Scanner, System. in và nextDouble - những điều được định nghĩa trong API của Java. Chương trình DoPayroll trong danh sách này đưa ra một sự quay về câu chuyện này. Thay vì đọc các ký tự từ bàn phím, chương trình sẽ đọc các ký tự từ EmployeeInfo. txt file. Tệp này tồn tại trên ổ cứng máy tính của bạn.
nhập khẩu java. util. Máy quét; nhập khẩu java. io. Tập tin; nhập khẩu java. io. IOException; public class DoPayroll {public static void main (String args []) ném IOException {Máy quét ScanScanner = máy quét mới (mới File ("EmployeeInfo. txt")); cho (int empNum = 1, empNum <= 3, empNum ++) (payOneEmployee (diskScanner);} diskScanner. đóng ();} static void payOneEmployee (Máy quét aScanner) {Nhân viên anEmployee = nhân viên mới (); một nhân viên. setName (aScanner. nextLine ()); một nhân viên. setJobTitle (aScanner. nextLine ()); một nhân viên. cutCheck (aScanner. nextDouble ()); Một máy quét. nextLine ();}}
Để đọc các ký tự từ một tập tin, bạn sử dụng một số thứ tương tự để giúp bạn đọc các ký tự từ bàn phím. Bạn sử dụng Scanner, nextDouble, và các tiện ích khác. Nhưng ngoài các goodies, bạn có một vài trở ngại để nhảy. Dưới đây là danh sách:
-
Bạn cần một đối tượng mới File . Để chính xác hơn, bạn cần một thể hiện mới của lớp File của API. Bạn nhận được trường hợp mới này bằng mã như
tệp mới ("EmployeeInfo.txt")
Nội dung trong dấu ngoặc kép là tên tệp - tệp trên ổ cứng máy tính của bạn. Tập tin chứa các ký tự.
Tại thời điểm này, các thuật ngữ làm cho núi ra khỏi molehills. Chắc chắn, các cụm từ mới File đối tượng và Ví dụ xuất hiện , mới
nhưng tất cả những gì bạn đang làm là làm mới File ("EmployeeInfo. Txt") một tập tin trên ổ cứng của bạn. Sau khi bạn Xóa tệp mới ("EmployeeInfo. Txt") vào Máy quét mới,Máy quét đĩaScanner = máy quét mới (tệp mới ("EmployeeInfo.txt"));
bạn có thể quên tất cả về kinh doanh File mới. Từ điểm đó trong mã, diskScanner là viết tắt của EmployeeInfo. txt tên tệp tin trên ổ cứng máy tính của bạn. (Tên diskScanner là viết tắt của một tập tin trên ổ cứng của bạn giống như, trong các ví dụ trước đây, bàn phím tên là viết tắt của các nút mà bạn bấm vào ngày và ngày ra.)Tạo một đối tượng File mới trong danh sách giống như việc tạo một đối tượng Employee mới trong cùng một danh sách. Sự khác biệt duy nhất là các lớp Employee và Account được định nghĩa trong các ví dụ của cuốn sách này.Lớp File được định nghĩa trong API của Java.
-
Khi bạn kết nối với một tệp tin đĩa bằng Máy quét mới, đừng quên phần Tệp mới. Nếu bạn viết Scanner mới ("EmployeeInfo. Txt") mà không có File mới, trình biên dịch sẽ không nhớ. (Bạn sẽ không nhận được bất kỳ cảnh báo hoặc thông báo lỗi nào trước khi bạn chạy mã) Nhưng khi bạn chạy mã, bạn sẽ không nhận được bất cứ điều gì giống như kết quả mong đợi. Bạn phải tham khảo File class bằng tên đầy đủ của nó - java. io. Tệp .
Bạn có thể làm điều này bằng một tờ khai nhập như tờ khai trong danh sách. Ngoài ra, bạn có thể lộn xộn mã của bạn với một tuyên bố như Scanner diskScanner = new Scanner (mới java.ioc
-
File ("EmployeeInfo. Txt")); Bạn cần một điều khoản ném IOException . Rất nhiều thứ có thể sai khi chương trình của bạn kết nối với EmployeeInfo. txt. Đối với một điều, ổ cứng của bạn có thể không có tệp
-
EmployeeInfo. txt.
Đối với người khác, tệp EmployeeInfo. txt có thể nằm trong thư mục sai. Để khắc phục cho loại thiên tai này, ngôn ngữ lập trình Java cần phải có những biện pháp phòng ngừa nhất định. Ngôn ngữ nhấn mạnh rằng khi có một tệp tin đĩa, bạn phải thừa nhận những nguy cơ có thể xảy ra khi gọi máy quét mới. Bạn có thể thừa nhận những nguy hiểm theo nhiều cách, nhưng cách đơn giản nhất là sử dụng một điều khoản ném. Trong danh sách, tiêu đề của phương thức chính kết thúc bằng từ ném IOException.
Bằng cách thêm hai từ này, bạn hãy xoa dịu trình biên dịch Java.