我正在使用FileOutputStream在追加模式下连续写入文件中的数据。一切都工作正常,但我想在阅读时将每个附加的流与文件分开。
以下是我创建文件并在Android中编写文件的方法
FileOutputStream outputStream = service.openFileOutput("text.txt", Context.MODE_APPEND);
outputStream.write(measurement.toString().getBytes());
outputStream.close();
它正在成功附加数据,但是当我阅读它时,我不知道如何找到附加字符串之间的终点。
这是我从文件中读取字符串的代码
StringBuilder total = new StringBuilder();
FileInputStream inputStream = service.openFileInput("text.txt");
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}
r.close();
inputStream.close();
Log.d(TAG, "File Size: "+total.length());
答案 0 :(得分:0)
对于将来的参考文献,我没有尝试过,但感谢@greenapps
,这很愚蠢我只需添加另一个写语句来追加
FileOutputStream outputStream = service.openFileOutput("text.txt", Context.MODE_APPEND);
outputStream.write(measurement.toString().getBytes());
outputStream.write("\n".getBytes());
outputStream.close();
用于读取saparated字符串我只是使用split for java
String[] parts = total.toString().split("\n");
for(int i = 0; i < parts.length; i++) {
Log.d(TAG, parts[i]);
}
deleteFile("text.txt");