繁体   English   中英

Android:SD卡位置的文件中的旧条目无法保留

[英]Android : Old entries in file in SD card location not persist

我正在尝试将数据保存到SD卡中的文件中。但是保存到文件中的数据不是永久性的,每次我输入新条目时都会更改。 添加新条目后,只有新条目消失在文件中,而旧条目消失了。 我应该怎么做才能使数据持久保存在文件中。 这是我的.java代码:

 package com.example.robin.userinputform;

 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;

 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;

 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStreamWriter;

 public class UserActivity extends Activity {
 Button myButton;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_user);
    myButton = (Button)findViewById(R.id.button);                       
    myButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            EditText myEdit1 = (EditText) findViewById(R.id.editName);            
            EditText myEdit2 = (EditText) findViewById(R.id.editFatherName);
            EditText myEdit3 = (EditText) findViewById(R.id.editMobileNumber);
            try {
                File myFile = new File("/sdcard/MyApp.txt");
                myFile.createNewFile();
                FileOutputStream fOut = new FileOutputStream(myFile);
                OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
                myOutWriter.append(myEdit1.getText());
                myOutWriter.append(myEdit2.getText());
                myOutWriter.append(myEdit3.getText());
                myOutWriter.close();
                fOut.close();
                Toast.makeText(getBaseContext(), "file saved", Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

}

您想要的是将新文本追加到文件中,而不是覆盖旧文本或从空文件开始。 您应该使用新的FileOutputStream(myFile,true);在附加模式下打开流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM