如何逐行读取文件并存储特定值
来源:爱站网时间:2021-09-16编辑:网友分享
我需要一些帮助,因为我是Java新手,所以我已经坚持了一段时间。我在控制台中做了一个登录面板,其中设置了用于登录的默认用户名和密码。他们可以...
问题描述
我需要一些帮助,因为我是Java新手,所以我已经坚持了一段时间。我在控制台中做了一个登录面板,其中设置了用于登录的默认用户名和密码。他们可以创建一个将用户名存储在username.txt文件中并将密码存储在passwords.txt文件中的帐户。我想知道我如何获得它,以便函数逐行读取用户名和密码的txt文件,直到它与用户名与用户名文件中现有的用户名相匹配,并与密码相同,以便登录。
这是从文件读取功能:
public static void readFromFile() throws Exception { BufferedReader saveUsrFile, savePwFile; try { saveUsrFile = new BufferedReader(new FileReader("username.txt")); String line_u = saveUsrFile.readLine(); while (line_u != null && saveUsrFile.readLine().equals(LP.username)) { cusUsr = saveUsrFile.readLine(); } saveUsrFile.close(); savePwFile = new BufferedReader(new FileReader("passwords.txt")); String line_p = savePwFile.readLine(); while (line_p != null && savePwFile.readLine().equals(LP.password)) { cusPass = savePwFile.readLine(); } savePwFile.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } }
这是登录面板:
import java.util.Scanner; public class LoginPanel { static String username; static String password; public LoginPanel() { } public static void main(String[] args) { boolean flag = true; Passenger p = new Passenger(); Scanner input = new Scanner(System.in); while(flag == true) { System.out.println("Enter Username: "); username = input.nextLine(); System.out.println("Enter Password: "); password = input.nextLine(); if ((password.equals(p.DefPass) && username.equals(p.DefUser)) || (password.equals(p.cusPass) && username.equals(p.cusUsr))) { System.out.println("Passenger login successful!"); p.display(); } else { System.out.println("Please check your username or password and try again!"); } } } }
有人,请帮助我,告诉我如何才能逐行读取文件,直到文件匹配并允许用户登录为止。
我需要一些帮助,因为我是Java新手,所以我已经坚持了一段时间。我在控制台中做了一个登录面板,其中设置了用于登录的默认用户名和密码。他们可以...
思路一:
简化流程如下
思路二:
简化流程如下