如何在输入流中保存新行? Java - Android

时间:2015-11-30 19:05:51

标签: java android inputstream outputstream

我希望使用EditText中的InputStream保存文本,同时保留文本中的新行。

以下是我尝试做的例子:

    public void onSaveButtonClick(View v) {
    try {
        OutputStreamWriter out= new OutputStreamWriter(openFileOutput("STORETEXTBELESKE.txt", 0));

        out.write(beleskeEditText.getText().toString());

        out.close();
    }

    catch (Throwable t) {

        Toast.makeText(this, "Exception: " + t.toString(), Toast.LENGTH_LONG).show();

    }
}

以下是从保存文件中读取文本的部分:

    public void readSavedFile() {
    try {
        InputStream in = openFileInput("STORETEXTBELESKE.txt");

        if (in != null) {

            InputStreamReader tmp = new InputStreamReader(in);
            BufferedReader reader = new BufferedReader(tmp);
            String str;
            StringBuilder buf = new StringBuilder();

            while ((str = reader.readLine()) != null) {

                buf.append(str);

            }
            in.close();
            beleskeEditText.setText(buf.toString());
        }
    } catch (java.io.FileNotFoundException e) {

    } catch (Throwable t) {
        Toast.makeText(this, "Exception: " + t.toString(), Toast.LENGTH_LONG).show();
    }
}

部分有效。所有文本都正确保存但所有内容都在同一行。

所以如果输入是:

测试 测试 123

输出为:Testtest123

1 个答案:

答案 0 :(得分:3)

就这样做

{{1}}