我正在从事个人项目,但我有一个问题,我似乎无法弄明白。
public void setvars() {
File file = new File("config.txt");
try {
Scanner sc = new Scanner(file);
while(sc.hasNextLine()) {
//int OESID = sc.nextInt(); this variable isnt used yet.
String refresh = sc.next();
sc.close();
textFieldtest.setText(refresh);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
在控制台中告诉我错误是while(sc.hasNextLine()) {
我无法弄明白。任何指针/建议将不胜感激!
答案 0 :(得分:0)
问题是您在使用扫描仪时正在关闭扫描仪。
修改代码,完成后关闭扫描程序:
while(sc.hasNextLine()) {
//int OESID = sc.nextInt(); this variable isnt used yet.
String refresh = sc.next();
textFieldtest.setText(refresh);
}
sc.close();
每当您处理任何资源时,这应该是一般模式 - 确保只有在您确定不再需要它时才关闭它。
如果您通过使用新的try-with-resource功能(将自动关闭资源)来使用Java 7,您可以让生活更轻松:
try(Scanner sc = new Scanner("/Users/sean/IdeaProjects/TestHarness/src/TestHarness.java")) {
while(sc.hasNextLine()) {
// do your processing here
}
} // resource will be closed when this block is finished