有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从java代码文件中使用arraylist登录?

我目前正在做一个由老师分配给我的项目,我需要使用登录用户登录我的系统; 首先,用户注册数据存储在文件中使用arraylist(必须包括部分赋值)这部分工作正常我使用的代码是

ArrayList<data> regUser = new ArrayList<data>();

public void regUser() {
    String regName = JOptionPane.showInputDialog(null, "Enter User Name:");
    String regPass = JOptionPane.showInputDialog(null, "Enter User Password:");

    data p = new data(regName, regPass);
    regUser.add(p);

    for (int i = 0; i < regUser.size(); i++) {
        try {
            FileWriter writer = new FileWriter("C:\\Users\\Desktop\\outputFile.txt", true);
            PrintWriter pw = new PrintWriter(writer);
            pw.println(regUser.get(i));
            pw.close();
            writer.close();
        } catch (IOException e) {
            System.out.println("File not found");
        }
    }
    JOptionPane.showMessageDialog(null, "User registered successfully");
}

现在,用户必须以同样的方式从文件中的数据登录,首先将文件中的数据输入arraylist,然后将其与用户输入的数据匹配,但im有问题

public void login() {
    ArrayList<String> loginUser = new ArrayList<>();
    String name = JOptionPane.showInputDialog(null, "Enter User Name:");
    String password = JOptionPane.showInputDialog(null, "Enter User Password:");
    try {
        FileReader fr = new FileReader("C:\\Users\\Desktop\\outputFile.txt");
        BufferedReader br = new BufferedReader(fr);
        String st;
        while ((st = br.readLine()) != null) {
            loginUser.add(st);
        }
        // System.out.println(loginUser); 
        br.close();
        fr.close();
    } catch (IOException e) {
        System.out.println("File not found");
    }

    for (int i = 0; i < loginUser.size(); i++) {

        if (loginUser.get(0).equals(name) && loginUser.get(1).equals(password)) {// help need for find a condition here
            JOptionPane.showMessageDialog(null, "Welcome to Rent A Car");
            return;
        }
    }       
    JOptionPane.showMessageDialog(null, "Wrong login info please try again");
}

我不是arraylist方面的专家,所以如果有人能给我一些指导,我会非常感谢你的 输出文件中的数据。txt目前是: 直升机123 测试456


共 (0) 个答案