Java: Đọc, ghi File Object
Chào các anh chị, em đang học về Java Core và làm bài tập về Đọc,Ghi File và OOP trong Java.Em có một bài tập mà hiện em đang bí , các anh chị có cách giải quyết hay hướng dẫn thì chỉ em với.
- Storing information:
a. Fresher: code, full name, id number, department, university/college name, all of quiz’s point, mock project’s point, trainer’s comment
b. Quiz’s point: quiz, point
c. Quiz: code, quiz’s name, content
d. Department: code, name, short name
Thay vì sử dụng SQL Server để lưu trữ CSDL thì em muốn lưu CSDL vào một file.txt… Mình sẽ làm các thao tác CRED y như bình thường nhưng sử dụng database lưu trên file text… Em muốn hỏi là nhìn mô tả bài toán thì nếu lưu trên SQL server thì mình sẽ tạo 4 bảng và sẽ có các mối quan hệ giửa các bảng… Vậy nếu làm với file thì sao ạ… Mình cũng sẽ lưu về 4 file text đúng không ạ… nhưng làm sao để các file có quan hệ với nhau (vd: Trong Fresher có trường department thì nó sẽ có quan hệ với Department)…
Em không biết diễn tả sao cho đúng… Mong các anh chị giúp em với ạ
Theo quan điểm của anh, em có thể lưu vào file txt nhưng theo kiểu xml hoặc json để dễ thao tác với dữ liệu sau này. Còn việc liên hệ giữa các bảng thì theo như anh hiểu nó sẽ như sau:
Về liên kết giữa các bảng:
Fresher <-> department -> thông qua code nằm trong fresher
Quiz’s point <-> Quiz -> thông qua trường code nằm trong Quiz có thể nó ngang bằng với trường quiz nằm trong Quiz’s point
Fresher <-> Quiz -> thông qua bảng phụ Fresher_Quiz
Dạ em cám ơn anh nhiều ạ… giờ thì em không biết code sao để các file.txt liên kết với nhau nữa. Mọi người có ai có tài liệu hay hướng dẫn để đọc,ghi một Object List theo dạng file không ạ… Em đang dùm ObjectOutputStream để ghi dữ liệu vào file Fresher.txt nhưng mà khi mà đọc dữ liệu ra thì nó chỉ hiện thị Object mình vừa mới nhập,còn các Object mình tạo từ trước thì không có… Em đang muốn làm là thêm fresher vào danh sách…nhưng mỗi lần thêm thì nó chỉ hiện fresher mình mới thêm thôi
Đây là đoạn code của em, em không biết là làm vậy có đúng yêu cầu của đề không nữa
Theo như code trên của em thì anh thấy em nên sử dụng mảng array để đọc các object từ file txt vào trước nếu file txt tồn tại, sau đó add thêm 1 object vào mảng array này và ghi toàn bộ mảng array ra file txt.
Còn về việc các file txt liên kết, thì cái này chủ yếu là do cấu trúc dữ liệu em ghi ra txt em sắp xếp theo dạng nào, em ghi ra kiểu gì thì em phải đọc trở về kiểu đấy. Nếu dùng writeObject thì hơi mệt, anh nghĩ em nên tham khảo ghi dữ liệu theo cấu trúc dữ liệu json, nó dễ dàng trong thao tác hơn, cũng có nhiều library để sử dụng.