Em có bài tập về lập trình java tạo các phương thức đăng ký, đăng nhập, xóa tài khoản,… em không biết cách làm sao lưu tài khoản vào file rồi lại truy suất nó để ktra được, mọi người chỉ em với ạ.
Làm sao lưu tài khoản vào file rồi lại truy xuất nó để kiểm tra được?
Thì lên Google kiếm trước, sau đó có gì không hiểu về nội dung/đoạn mã mẫu thì lên đây nhờ giải thích.
Bạn tìm hiểu thêm về JSON hoặc Database nhé Còn nếu chỉ muốn làm đơn giản thì lưu ra file text theo thứ tự sau: ID_Password _…
rồi mã hóa file, lúc nào muốn đọc thì lại giải mã thôi
tại mình chưa được học database nên giáo viên yêu cầu lưu ra file rồi làm mà mông lung quá vì bài file còn nghỉ học
Thế thì lên Google học lại thôi
cái phần saveUser vs get User mình ko biết làm sao để lấy User từ file cho ra 1 mảng
public User[] getUser() {
User []u=new User[100];
File file=new File(“text.txt”);
char []a=new char [100];
try {
FileReader rd=new FileReader(file);
rd.read(a);
} catch (FileNotFoundException ex) {
Logger.getLogger(UserImp.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(UserImp.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void saveUser(User u) {
boolean rs=false;
if(u!=null){
File file= new File("text.txt");
try {
file.createNewFile();
} catch (IOException ex) {
Logger.getLogger(UserImp.class.getName()).log(Level.SEVERE, null, ex);
}
try {
FileWriter wr=new FileWriter(file);
wr.write(u.getTen());
wr.write("\n");
wr.write(u.getMatKhau());
wr.flush();
wr.close();
} catch (IOException ex) {
Logger.getLogger(UserImp.class.getName()).log(Level.SEVERE, null, ex);
}
}
giúp mình với :please
Có một số lời khuyên cho bạn
- Nên dùng
ArrayList<User>
để chưa cácUser
chứ đừng dùng mảng để chứa. VìArrayList
là mộtCollection
nên nó có thể co dãn được, còn nếu dùng mảng thì bạn sẽ phải sẽ phải set 1 size cố định cho nó (nhỡ số lượng User vượt quá size thì sẽ có lỗi). - Nên sử dụng 2 Class là
FileInputStream
vàFileOInputStream
để đọc, ghi file Còn cách dùng thì lên hỏi bác Google bạn nhé . - Bạn nên để mỗi dòng trong file text là thông tin của một User, ví dụ:
ID1_Pass1_…
ID2_Pass2_…
ID3_Pass3_…
…
Lúc đọc file thì dùng split()
của String
để lấy từng thông tin của từng User.
Hoặc nâng cao hơn một chút thì bạn tìm hiểu về ObjectInputStream
và ObjectOutputStream
để ghi hẳn cái Arraylist<User>
ra file luôn, lúc đọc thì chỉ cần cast Object
thành ArrayList<User>
là được
P/S: Lần sau bạn đăng code lên thì nhớ Markdown lại cho mọi người nhìn nhé
Cách post Code dùng Markdown trong Category Programming
Vô docs chính thức học nè , đảm bảo xịn hơn bài giảng của giáo viên
https://docs.oracle.com/javase/tutorial/essential/io/index.html
Nếu thầy cô chưa chọn đụng vào db thì bạn có thể dùng các API của Java để đọc / ghi file như file text (PrintWriter / PrintReader), file binary (FileInputStream / FileOutputStream, ObjectInputStream / ObjectOutputStream) hay file Properties