Witam, tworzę aplikacje która ma za zadanie zbierać dane z editTextów i zapisywać je do pliku .txt. Z zapisem i odczytem sobie poradziłem ale pytanie jak zrobić żeby kolejne wpisy dodawane były w pliku do poprzednich np. po enterze.
W chwili obecnej, każde uruchomienie funkcji save kasuje to co jest w pliku i zapisuje aktualna wartość editTextów. Poniżej zawartość pliku MainActivity.java. Z góry dzięki za pomoc.
package apm.file;
import android.os.Environment;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class MainActivity extends ActionBarActivity {
EditText editText, editText2;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText)findViewById(R.id.editText);
editText2 = (EditText)findViewById(R.id.editText2);
textView = (TextView)findViewById(R.id.textView);
textView.setVisibility(View.GONE);
}
public void buttonSave(View view)
{
String Message3 = editText.getText().toString();
String Message2 = editText2.getText().toString();
String Message = Message3+","+Message2;
String file_name = "test";
try {
FileOutputStream fileOutputStream = openFileOutput(file_name, MODE_PRIVATE);
fileOutputStream.write(Message.getBytes());
fileOutputStream.close();
Toast.makeText(getApplicationContext(),"Zapisano", Toast.LENGTH_LONG).show();
editText.setText("");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void buttonLoad(View view)
{
try {
String Message;
FileInputStream fileInputStream = openFileInput("test");
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuffer stringBuffer = new StringBuffer();
while ((Message=bufferedReader.readLine()) != null)
{
stringBuffer.append(Message +"\n");
}
textView.setText(stringBuffer.toString());
textView.setVisibility(View.VISIBLE);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}