【问题标题】:Files written with FileWriter are either 32 KB, 24 KB, 16 KB, ... big or empty使用 FileWriter 写入的文件为 32 KB、24 KB、16 KB、... 大或空
【发布时间】:2010-05-17 07:52:01
【问题描述】:

我将一个文件读入一个字符串,更改第一行,然后将该字符串写入一个新文件。我通过以下代码(稍微缩短了一点)来做到这一点:

while(jspIterator.hasNext()){
                    String line = (String) jspIterator.next();
                    if (i == 0) {
                        if (line.startsWith("bla bla") && line.endsWith("yada")) {
                            line = line.replaceFirst("this", "that");
                        }
                    }
                    jspAsString += line;
                    i++;
                }

FileWriter newJspWriter = new FileWriter(newJspFile);
                newJspWriter.write(jspAsString);

现在以这种方式写入的文件要么是 32、24、16、8 KB 大,要么是完全空的。调试时,我看到字符串已正确组装。当我将变量 jspAsString 打印到控制台时,它也显示正确。

你知道为什么 FileWriter 会这样吗?

【问题讨论】:

  • 你要关闭你的 FileWriter 吗?
  • 听起来您没有正确调用作者的flush()close()

标签: java file-io


【解决方案1】:
猜你喜欢
  • 2020-10-10
  • 2021-12-19
  • 2011-04-13
  • 2014-08-28
  • 2021-03-21
  • 2019-08-01
  • 2015-08-24
  • 2018-03-02
  • 1970-01-01
相关资源
最近更新 更多