【发布时间】: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()。