Hỏi về ghi file trong Java sử dụng BufferedWriter
Chào mọi người,mình lập topic này muốn hỏi các bạn 1 vấn đề thôi,mình có thể sữa 1 dòng dữ liệu trong file .txt mà không cần phải cập nhật lại hết tất cả các dòng khác lại hay không,vì mình thấy trên mạng, dùng BufferedWrite ng ta chỉ hướng dẫn là thay thế toàn bộ nội dung trong file hoặc là thêm vào cuối file thôi.ví dụ file txt định dạng như >>> Tài khoản Pin Tiền
người dùng giao dịch xong mình muốn trừ tiền trong tài khoản (tài khoản bất kì nào đó nằm giữ danh sách ),thì mình nên làm sao để chỉ sửa tại vị trí đó dòng đó?
Cảm ơn các bạn đã đọc.
Hình như là không bạn ah. Chính vì vậy nên ng ta mới cho ra đời các hệ quản trị csdl như sql hay mysql.
Bạn vẫn có thể thay đổi 1 dòng bằng cách tạo 1 file mới, chuyển hết dữ liệu cũ và dòng mới (đã dc update) ra 1 file mới. (Mình đặt trùng tên với file cũ để coi như là k có file mới) . Bạn có thể sử dụng file xml để lưu và cập nhật dữ liệu tốt hơn hoặc thử tham khảo đoạn code này xem.
p/s :Cái này mình tìm trên stackover, quên xóa trang nên k nhớ rõ nguồn
Cảm ơn bạn nhiều,mình cứ tưởng làm đươc hkỳ sau mình mới học CSDL
uhm, nếu mình nhớ k nhầm thì khi ghi text xuống,máy nó lưu là 1 chuỗi byte thôi dù dòng text bạn có nhiều dòng, nên muốn cập nhật, bạn fai load file lên, chỉnh sửa rồi cập nhật (thực chất là ghi lại với dữ liệu mới).
Nếu dữ liệu nhỏ thì bạn lưu text file dạng XML để dễ dàng thao tác, không cần dùng các hệ CSDL rườm rà lắm. Mình viết những chương trình quản lý danh sách hàng bằng VB.NET, C# và C++ sử dụng XML với gần 10.000 mặt hàng hoặc hơn nữa, tốc độ truy xuất và thao tác rất ổn. Trước đó, mình sử dụng MSSQL và Access nhưng rườm rà trong việc triển khai, tốc độ cũng chẳng khác mấy nên cuối cùng vẫn chọn dùng XML. Nên nếu dữ liệu nhỏ, chỉ cần XML là xử lý tốt.