【发布时间】:2018-06-19 10:44:23
【问题描述】:
我的目标是读取格式化字符串并将其写入文件。 我实际上使用 PrintWriter 类进行输出,使用 Scanner 类进行输入。
代码:
PrintWriter out = null;
Scanner in = null;
File file = new File(System.getProperty("user.dir")+"/data/level1/grounds.txt");
try {
out = new PrintWriter(file);
} catch (FileNotFoundException e) { e.printStackTrace(); }
out.println("foo");
try {
in = new Scanner(file);
} catch (FileNotFoundException e) { e.printStackTrace(); }
System.out.println(in.nextLine());
in.close();
文件已创建,但 in.nextLine() 抛出 NoSuchElementException: no line found。 执行后(由此异常终止)文件为空白。
请留下关于如何正确执行的建议。
【问题讨论】:
-
顺便说一句,您使用的是 Java 8,您确实应该避免使用
File并改用Path以及java.nio包中的所有相关方法。此外,如果找不到文件,则不应输出到文件。打印应该在try内。完成后,您应该使用“try-with-resources”自动关闭文件。
标签: java string io java.util.scanner printwriter