Làm sao lưu tài khoản vào file rồi lại truy xuất nó để kiểm tra được?

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 ạ.

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.

https://www.tutorialspoint.com/java/java_files_io.htm

2 Likes

Bạn tìm hiểu thêm về JSON hoặc Database nhé :smile: 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 :smile:

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 :smile:

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 :smile:

  1. Nên dùng ArrayList<User> để chưa các User chứ đừng dùng mảng để chứa. Vì ArrayList là một Collection 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).
  2. Nên sử dụng 2 Class là FileInputStreamFileOInputStream để đọc, ghi file :smile: Còn cách dùng thì lên hỏi bác Google bạn nhé :wink:.
  3. 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ề ObjectInputStreamObjectOutputStream để 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 :smile:


P/S: Lần sau bạn đăng code lên thì nhớ Markdown lại cho mọi người nhìn nhé :wink:
Cách post Code dùng Markdown trong Category Programming

2 Likes

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 :sunglasses:
https://docs.oracle.com/javase/tutorial/essential/io/index.html

4 Likes

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

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?