当前位置: 首页 > 知识库问答 >
问题:

java检查外部文件,如果用户名存在

顾靖
2023-03-14

我不知道我做错了什么,输出不允许用户进行更正(键入新用户名)或继续,即询问密码。

我的代码:

Scanner userInput = new Scanner(System.in);
        //Scanner UserNameInput = new Scanner(System.in);
        String fileName = "data.txt";
        boolean x = false;

        FileReader credentials = new FileReader(fileName);
        Scanner file = new Scanner(credentials);

        System.out.println("Enter your name: ");
        String name = userInput.nextLine();
        System.out.println("Enter username: ");
        
        while (!x) {
             String userName = userInput.nextLine();
              while(file.hasNext())
              {
                String thename = file.next();
                String theuserName = file.next();
                String theuserPassword = file.next();
                if (userName.equalsIgnoreCase(theuserName)){
                    System.out.println("The username has already been used, Enter: ");
                    x = false;
                    userName = userInput.nextLin

共有1个答案

郎言
2023-03-14

代码假定内部while循环将读取文件中的所有行。这将是你第一次使用它。但在第二次和随后的时间,它不会。这是因为当内部循环第一次结束时,扫描仪将定位在文件的末尾。从那时起,文件。hasNext()将返回false

在每次启动内部循环之前,您需要重新打开文件并创建一个新的Scanner

至少,这是我所期望的...基于你问题中不完整的代码。

 类似资料:
  • 我有麻烦让我的代码工作。当用户输入用户名时,它会检查数据库,看看它是否存在,以及它是否设置了

  • 问题内容: 如何在不使用try语句的情况下检查文件是否存在? 问题答案: 如果您要检查的原因是可以执行类似的操作if file_exists: open_it(),则try尝试使用a来打开它会更安全。检查然后打开可能会导致文件被删除或移动,或者介于检查和尝试打开文件之间。 如果您不打算立即打开文件,则可以使用 os.path.isfile True如果path是现有的常规文件,则返回。这遵循符号链

  • 问题内容: 我正在尝试允许用户通过搜索用户名来开始游戏并关注其他用户。我需要确保具有该用户名的用户存在。我正在使用以下代码,但是尽管调用了,但在应调用时却没有被调用。 JSON数据树 问题答案: 轻松解决: 不要使用.childAdded,因为当查询找不到任何内容时,该块将不会执行。 而是使用.Value并检查NSNull

  • 问题内容: 在打开文件以Java读取之前,如何检查文件是否存在?(相当于Perl的)。 关于SO的唯一类似问题涉及写入文件,因此使用回答了该问题,这显然不适用于此处。 如果可能的话,我宁愿使用真正的API调用返回,而不是使用“调用API来打开文件并在引发异常时捕获并在文本中检查’无文件’的情况下捕获”,但是我可以接受后者。 问题答案: 使用:

  • 每天早上,一个文件夹得到相同的命名zip文件传输到它。我目前有一个脚本,将检查非压缩文件,如果他们存在,一个归档文件夹被创建,他们被移动到那里。然后解压缩zip文件,然后删除zip文件。 一个新的条件出现了,1文件将不会每天传输,但它将每周传输(一周中的随机一天),并且关联的非压缩文件必须保留在文件夹中,直到该压缩文件传输进来。 第二个语句检查zip文件,如果存在,它将解压缩每个zip文件,然后删

  • 尝试使用Google云功能和Firebase创建REST身份验证系统。这里的Firebase文档说: 要实现这一点,必须创建一个服务器endpoint,该endpoint接受登录凭据(如用户名和密码),如果凭据有效,则返回一个自定义JWT。 我看到我必须做这样的事情: 但是想知道从登录表单验证电子邮件/密码有效性并获取uid(全部在Cloud Functions中)然后发送到的最佳方法?