问题描述:
Java中初始化Scanner之后依然是null
源代码:
private static String doReadFile(){
Scanner scanner = null;
try{
scanner = new Scanner(System.in);
System.out.println(" ");
System.out.print("请输入要读取文件的位置:");
if (!scanner.hasNext()){
String path = scanner.next();
return path;
}catch (Exception e){
e.printStackTrace();
}finally {
if (scanner != null){
try {
scanner.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
return "";
}
错误内容:
请输入要读取文件的位置:
java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at cn.hlriyong.io.Test01.doReadFile(Test01.java:61)
at cn.hlriyong.io.Test01.main(Test01.java:20)
这段代码应该编译不过啊:
然后,要使用
next()
或者nextXxxx()
,应该判断hasNext()
而不是!hasNext()