【发布时间】:2020-09-26 22:27:46
【问题描述】:
我希望程序将我拥有的文本文件的每一行保存到 String 中,并使用 PrintWriter 将 String 打印到另一个文本文件中。
File htmltext = new File(filepath);
Scanner file = new Scanner(htmltext);
PrintWriter out = new PrintWriter("updated.txt");
while (file.hasNext()) {
String s = file.nextLine();
out.println(s);
out.close();
我已经运行了代码和 out.println(s),只打印了第一次的文本文件。 我查找了如何将字符串打印到文本文件中,发现我应该使用 PrintWriter。 我期待程序基本上使用 PrintWriter 将文本文档的内容“重新打印”到“updated.txt”文件中。 但是,它似乎只是将文本文件的第一行“重新打印”到“updated.txt”中。
我认为我的 while 循环有问题,所以我尝试使用 System.out.println(s) 定期将其打印到控制台,但效果很好。
我对 while 循环的理解是,当文件有标记时,它会迭代,并且 s 将存储一行并且(它应该)打印所述字符串 s。
我错过了什么?我是否误解了while循环的工作原理?或者 nextLine() 是如何工作的?或 PrintWriter 的工作原理。(可能以上所有...)
我希望得到反馈!
【问题讨论】:
标签: java