2017-01-09 350 views
-1

我正在java中制作一些非常简单的程序,以查看I/O如何工作,但是我遇到了问题。我创建了“test.txt”文件,现在我试图(通过扫描器)每次启动程序时都输入用户名和密码,这并不是什么大问题。我让我的程序从文件中读取内容并写入控制台。但是,我的问题是,我希望每次运行程序并输入新的用户名时,我的程序都会通过该文件,读取每个用户名并在用户名已存在时给我一个警告。从java中的文件读取用户名和密码

+5

的可能的复制【JAVA:如何读取文本文件(http://stackoverflow.com/questions/2788080/java-how-to-read-a-text-file) – byxor

+0

请走[Tour](http://stackoverflow.com/tour)并阅读[Help Center](http://stackoverflow.com/help)中的文档。特别是,你应该阅读[如何提出一个好问题](http://stackoverflow.com/help/how-to-ask)和什么样的问题[关于主题](http://stackoverflow.com /帮助/话题)。 – azurefrog

+0

具体而言,如果您在询问代码的帮助时,需要在代码中包含代码以及输入,期望与实际输出,任何错误等。理想情况下包括[mcve]。 – azurefrog

回答

0

不知道这是你在找什么,但这应该做的工作。这是一个快速简单的解决方案。

import java.io.BufferedReader; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class Test { 

    public static void main(String[] args) { 

     String filePath = "{YOUR_FILEPATH_TO_TEST.TXT}"; 
     Scanner scanner = new Scanner(System.in); 
     System.out.println("Enter your username: "); 
     String username = scanner.nextLine(); 
     System.out.println("Checking to see if username exists..."); 
     BufferedReader bufferedReader; 
     try { 
      bufferedReader = new BufferedReader(new FileReader(filePath)); 
      String line; 
      boolean usernameExists = false; 
      while((line = bufferedReader.readLine()) != null) { 
       if (line.equals(username)) { 
        usernameExists = true; 
        break; 
       } 
      } 
      if (usernameExists) { 
       System.out.println("Username exists! Please try again."); 
      } else { 
       System.out.println("Username accepted"); 
      } 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 

} 
相关问题