Java 用扫描仪读取文件

Java 用扫描仪读取文件,java,Java,编辑:我添加了一个新部件以捕获fileexception错误 这是一个pincheck程序。我应该创建一个包含以下行的txt文件: 彼得,1212年 约翰,1234 玛丽,万 然后我必须编写一个java程序来提示用户输入txt文件的文件路径,然后输入他们的名称和pin码。我能够编译我的代码,但是当我输入正确的名称和pin时,我没有得到预期的结果 import java.util.*; import java.io.*; public class PINCheck { public stat

编辑:我添加了一个新部件以捕获fileexception错误

这是一个pincheck程序。我应该创建一个包含以下行的txt文件:

彼得,1212年
约翰,1234
玛丽,万

然后我必须编写一个java程序来提示用户输入txt文件的文件路径,然后输入他们的名称和pin码。我能够编译我的代码,但是当我输入正确的名称和pin时,我没有得到预期的结果

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

public class PINCheck {
  public static void main(String[]args) {

    Scanner s = new Scanner(System.in);
    System.out.print("Enter file path: ");
    String filepath = s.nextLine();

    File passwordFile = new File(filepath);

    System.out.print("Enter name: ");
    String name = s.nextLine();

    System.out.print("Enter password: ");
    String password = s.nextLine();

    try {
        Scanner sc = new Scanner(passwordFile);
        while (sc.hasNext()) {
            if (password.matches(".*[a-zA-Z]+.*")) {
                System.out.println("You have entered a non-numerical PIN!");
            } else if (sc.hasNext(name) && sc.hasNext(password)) {
                System.out.println("You have logged in successfully.");
            }else {
                System.out.println("Login Failed.");
            }
            break;
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
  }
}

这行:
Scanner sc=new Scanner(“密码文件”)
表示扫描程序将从构造函数中指定的字符串而不是实际文件进行扫描

使用
Scanner sc=新扫描仪(密码文件)取而代之

File passwordFile=newfile(“filepath”)的类似错误

File passwordFile=newfile(filepath)那样使用它


在这两种情况下,都要传递变量,而不是字符串。

您在文件路径中提供的是静态字符串,它将查找文件路径,请从文件路径中删除双引号。欢迎使用堆栈溢出。“我的代码似乎无法正常运行”和“我似乎无法成功‘登录’”一样含糊不清,到底出了什么问题?请提供更多细节。(我怀疑您没有正确使用
hasNext(String)
,除此之外……)您好,感谢您的及时回复。我可以编译我的代码,但它没有按预期运行。当我输入可以在txt文件中找到的名称和pin码时,它应该会返回,因为我已成功登录。但是我不确定我是否正确使用了scanner。编辑完一个新错误后,出现了未报告的异常FileNotFoundException。为什么会发生这种情况?对不起,我对java非常陌生,只是一个月前才拿起它,因为找不到文件?该文件是否与执行java应用程序的目录相同?研究如何访问任意位置的文件。我想提示用户输入文件路径。编译代码时出现错误。然后将文件访问代码包装在
try catch
块中,并捕获
FileNotFoundException