我正试着从一个文件中读取两行。
下面是我的代码(test.java):
import java.util.Scanner;
public class test {
public static void main(String args[]) {
f();
f();
}
static void f() {
Scanner scanner = new Scanner(System.in);
String str;
str = scanner.nextLine();
}
}这是我的终端,当尝试从文件中读取输入时:
$ cat>inp
abc
def
^C
$ javac test.java && java test<inp
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1585)
at test.f(test.java:12)
at test.main(test.java:7)当我尝试从键盘读取输入时,这是我的终端:
$ javac test.java && java
abc
def
$从键盘读取没有问题,但在第一种情况下,我得到运行时错误。有什么问题吗?
P.S.“从文件中读取”是指在linux terminal.sorry中使用'<‘来读取文件中的输入,以弥补我的错误。
发布于 2014-03-05 08:41:01
扫描仪输入流存在问题,因此请按以下方式将扫描仪公开,
import java.util.Scanner;
public class test {
public static Scanner scanner = new Scanner(System.in);
public static void main(String args[]) {
f();
f();
}
static void f() {
String str;
str = scanner.nextLine();
}
}https://stackoverflow.com/questions/22192365
复制相似问题