Ich habe eine App, die in eine Datei (interner Speicher) Dateneingabe durch den Benutzer speichern und beim Start lädt diese Datei und zeigt den Inhalt. Ich würde es wissen: Wo finde ich meine Datei (data.txt)? Zusätzlich, wenn ich "Hallo" und dann "Welt" eingeben, wenn ich Datei lade, sehe ich "HelloWorld" in der gleichen Zeile, aber ich möchte "Hallo" und "Welt" in 2 verschiedenen Zeilen gedruckt.Android FileOutputStream Speicherort Datei speichern
Zum Speichern der Datei:
public void writeToFile(String data) {
try {
FileOutputStream fou = openFileOutput("data.txt", MODE_APPEND);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fou);
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}
Zum Laden der Datei:
public String readFromFile() {
String ret = "";
try {
InputStream inputStream = openFileInput("data.txt");
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();
while ((receiveString = bufferedReader.readLine()) != null) {
stringBuilder.append(receiveString);
}
inputStream.close();
ret = stringBuilder.toString();
}
}
catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("login activity", "Can not read file: " + e.toString());
}
return ret;
}
Dank
[UPDATE]
I "\ n" nach jeder Eingabe eingefügt haben:
user = (EditText) v.findViewById(R.id.username);
writeToFile(user.getText().toString() + "\n");
Aber wenn ich drucken meine Datei, die sie immer auf der gleichen Linie sind
Wie kann ich neuen Pfad gesetzt Datei zum Speichern ? – xXJohnRamboXx