从文件android中分离附加数据

时间:2014-06-16 12:31:18

标签: android file file-io buffer fileoutputstream

我正在使用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());

1 个答案:

答案 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");