【发布时间】:2017-06-11 00:06:00
【问题描述】:
我一直在尝试(未成功)将从 Firebase 检索到的多行数据写入一个文件,然后我会将其上传到存储中。我使用this example 创建了一个 PrintWriter,然后使用循环从我的 Firebase 数据库中的多个子节点收集值。文件名具有 .csv 扩展名。
public PrintWriter pw;
...
File file = new File(this.getFilesDir(), filename);
pw = new PrintWriter(new BufferedWriter(new FileWriter(file, true)));
String columns = <COLUMNS>;
pw.write(columns);
patientRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot postSnapshot: snapshot.getChildren()) {
Object object = postSnapshot.getValue(Object.class);
String value1 = object.getValue1();
...
String row = value1 + ", " + value2 + ", "...;
pw.println(row);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
pw.close();
从 Log 语句中,我可以看到我根据 onDataChanged() 中的值创建的字符串是正确的。我唯一的问题是它不会从循环中写入文件。上传 CSV 文件时,文件中的唯一文本是列,加上下方的空格。
为什么没有追加行?
【问题讨论】:
标签: java android csv firebase firebase-realtime-database