PDA

Ver la Versión Completa : Una linea nueva


loadgo
26/08/14, 12:11:52
Buenas, he heco un mini codigo para guardar texto q introduces en un cuadro de texto q lo guarde en un fichero y, en otro cuadro de texto muestre lo q esta guardado la cuestion es que me lo guarda todo en la misma linea y me gustaria que me cada vez que guardo un texto nuevo y pulso el boton me lo guardase en una linea nueva a bajo he probado con \n pero no me lo coge correctamente alguien sabe como lo deberia hacer.

Este es el codigo
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;


public class MyActivity extends Activity implements OnClickListener {

EditText txtGuardar;
String espacio;
TextView Mostrar;
Button Guardar;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);

txtGuardar = (EditText) findViewById(R.id.etTextoGuardar);
Mostrar = (TextView) findViewById(R.id.tvMostrar);
Guardar = (Button) findViewById(R.id.btnGuardar);

Guardar.setOnClickListener(this);

}
@Override
public void onClick(View v) {
//Escribir informacion en un fichero
try{
OutputStreamWriter introducir = new OutputStreamWriter
(openFileOutput("prueba.txt", Context.MODE_APPEND));

introducir.write(txtGuardar.getText().toString());
introducir.close();
} catch (IOException e) {
Log.e("Ficheros","Error al escribir");
}
try
{
BufferedReader fin =
new BufferedReader(
new InputStreamReader(
openFileInput("prueba.txt")));

String texto = fin.readLine();
Mostrar.setText(texto);
fin.close();
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al leer fichero desde memoria interna");
}

Muchas gracias

kriogeN
26/08/14, 12:23:24
En primer lugar no veo en tu código donde usas el \n, si lo estás poniendo en el cuadro de texto es normal que no te lo coja bien, porque realmente te lo está traduciendo a \\n.

Prueba así:

introducir.write(txtGuardar.getText().toString());
introducir.write("\n");
introducir.close();

loadgo
26/08/14, 13:39:06
No lo he probado y tampoco me funciona

Dexafree
26/08/14, 14:12:23
Prueba a hacer primero

introducir.write("\n")

y despues el

introducir.write(txtGuardar.getText().toString())

loadgo
26/08/14, 18:39:10
Funciona muchas gracias.