FileOutputStream在所有数据写入文件之前关闭?

时间:2016-11-21 13:13:22

标签: java android xml fileoutputstream

我正在开发一个Android应用程序,使用FileOutputStream使用以下代码以XML格式将数据写入文件。

FileOutputStream fos = new FileOutputStream(file);

fos.write(getXMLFileHeader().getBytes(StandardCharsets.UTF_8));
fos.write(getXMLProject().getBytes(StandardCharsets.UTF_8));
fos.write(getXMLReportData().getBytes(StandardCharsets.UTF_8));
fos.write(getXMLFileFooter().getBytes(StandardCharsets.UTF_8));

fos.flush();
fos.close();

正在创建文件并写入了一些数据......但不是全部。我希望在文件中看到如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<Project name="Report1" creator="Pete">
    <Report>This would be where the data for the report would go.</Report>
</Project>

然而,我所看到的是:

<?xml version="1.0" encoding="UTF-8"?>
<Project name="Report1" creator="Pete">
    <Report>This would be where the data for the

正如您所看到的,它似乎在关闭之前停止写入文件。谁能告诉我如何解决这个问题?谢谢!

修改:添加了getXML*()方法的示例。

private String getXMLReportData() {

    return "<Report>" + GlobalVariables.strReportData + "</Report>";
}

这些方法只返回一个字符串,如上例所示。

0 个答案:

没有答案