将文本附加到文件并将其内容同时打印到控制台?

Append text to file and print it's contents to console simultaneously?

我已经为此花费了一个多小时,但我无法在 .txt 文件中显示任何文本。我做错了什么?

import java.util.*;
import java.io.*;
public class writer {
public static void main(String[] args) {
    try {
        File txt = new File("myTextFile.txt");
        FileWriter fw = null;
        fw = new FileWriter(txt);
        BufferedWriter edit = null;
        edit = new BufferedWriter(fw);
        String s = "more text", line = null;
        edit.write(s);
        Scanner sc = new Scanner(txt);
        while (sc.hasNextLine()) {
            String i = sc.nextLine();
            System.out.println(i);
        }
        sc.close();
    } catch (IOException e) {
        e.printStackTrace();
  }
 }
}

编辑:添加了一个 .write,但它仍然不起作用

您永远不会关闭 BufferedWriter 实例,也永远不会刷新它。因此,您永远不会更改要有效写入物理文件的流缓冲区。
实际上,您从写入之前使用的同一来源读取文件。因此,在使用 Scanner :

读取内容之前,您必须显式刷新 BufferedWriter 的缓冲区
BufferedWriter edit = new BufferedWriter(fw);
String s = "more text", line = null;
edit.write(s);
edit.flush(); // modification here
Scanner sc = new Scanner(txt);