【发布时间】:2021-01-05 07:33:51
【问题描述】:
我是一个菜鸟,这个程序是关于从文本文件中读取一个名字,我无法通过它。
Scanner scan = new Scanner(System.in);
System.out.println("enter file to read");
String file = scan.nextLine();
try (Scanner scanner = new Scanner(Paths.get(file))) {
System.out.println("Enter name to validate, no entry will close");
while (scanner.hasNextLine()) {
String name = scan.nextLine();
String row = scanner.nextLine();
if (name.equals(row)) {
System.out.println("Entry Permitted");
} else if (name.isEmpty()) {
break;
} else {
System.out.println("Entry Denied");
}
}
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
这些是文件中的字符串:
Taylor Swift
Kylie Jenner
Kanye West
Lionel Messi
Ed Sheeran
Cristiano Ronaldo
Neymar
The Eagles
Phil McGraw
Saul "Canelo" Alvarez
【问题讨论】:
-
一个建议:scan 和scanner 的名字太接近了。我会调用文件的扫描仪,例如 fileScanner。虽然我会改用 FileReader。
-
请投票stackoverflow.com/a/63955777/4313726 并确认这是最好的解决方案...非常感谢!
标签: java string file while-loop path