首页 > 解决方案 > 将用户输入与文本文件进行比较(读取文本文件)

问题描述

我无法让程序读取文本文件中的信息并将其与用户输入进行比较。如果输入和文本匹配,则将显示菜单,否则将锁定用户。我听说过缓冲线,但我不确定它是如何工作的。任何帮助将不胜感激!!

import java.util.Scanner;
import java.io.*;


public class test123{
public static void main(String[] args)throws IOException  {
    Scanner sc1 = new Scanner (System.in);

    System.out.println("Please enter correct credentials to log in");
    System.out.println("Username: ");
    System.out.println("Password: ");
    String userName = sc1.nextLine();
    String passWord = sc1.nextLine();

    File inFile = new File ("employee.txt");



    while (sc1.hasNextLine())
    {          
        Scanner sc = new Scanner (inFile);
        String [] arrayName= new String [4];
         String uName = arrayName[0];
         String pWord = arrayName[1];   
         String line = sc.nextLine();
         line = sc.nextLine();

         if(userName.equals(uName) && passWord.equals(pWord)) 
         {
             System.out.println("Welcome " + userName + "!");
             System.out.println("Menu: ");
             System.out.println("\t1) Account");
             System.out.println("\t2) Payroll");
             System.out.println("\t3) Attendance Report");
             System.out.println("\t4) Service Desk");
         }
         }
}

}

标签: javauser-input

解决方案


Scanner sc = new Scanner(inFile);应该在你的while循环之外。

另请查看此资源:https ://www.geeksforgeeks.org/different-ways-reading-text-file-java/


推荐阅读