我知道我需要使用hasNextLine()来推进该行 - 但是当我引用hasNextLine()时,我不确定它为什么还没有退出while循环:
我在这里使用扫描仪(sc)来读取输入文件
while(sc.hasNextLine()){
//read post specifications from line
String postspecs = sc.nextLine();
//split line
String[] postspecs_s = postspecs.split(", ");
//create post
reddit.findUser(stripExtension(argfile.getName())).
addPost(postspecs_s[0], PostType.valueOf
(postspecs_s[1]), postspecs_s[2]);
System.out.println("created");
}
答案 0 :(得分:1)
'hasNextLine'将仅返回false。停止阅读的一种更简单的方法是等待您从System.in读取的标记值。
所以你会有像
这样的东西String s = sc.nextLine();
while(!s.equals(SENTINEL))
//proceed and dont forget to re-read.
我认为ctrl + z会在Windows上,在iPod atm上向系统发送EOF,因此无法测试。