JAVA BufferedWriter 写入数据丢失

想将一颗多叉树中节点的数据一行一行的写进文件,多叉树比较大,有三万九千多个节点。
在运行后,发现缺了后面几百行数据,而且成功写入的最后一行数据是不完整的(也就是说成功写入的最后一个节点的数据不完整),节点字符串值最长的是27个字符
发现问题后,我在想是不是建树的时候缺失了节点,所以在每次写入的时候我都会输出写入的那个节点值,在控制板查看输出是没问题的
试了BufferedWriter.flush() + BufferedWriter.close(),无用
代码如下:

fileWriter = new FileWriter(writeFile);
            bufferedWriter = new BufferedWriter(fileWriter);
            Queue stack = new LinkedList<>();
            //这里root是这个多叉树的根节点
            stack.add(root);
           //迭代法遍历多叉树
            while (!stack.isEmpty()) {
                node = stack.poll();
               //输出写入的节点值
                System.out.println(node.value);
               //写入节点值
                bufferedWriter.write(node.value);
                bufferedWriter.newLine();
                for (int i = 0; i < 8; i++) {
                    if (node.children[i] != null) {
                        stack.add(node.children[i]);
                    }
                }
            }

求大家帮忙解答

如果这就是你的所有代码,跟你没有关闭流有关