Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 08/04/13, 14:07:55
Avatar de lucas.werner
lucas.werner lucas.werner no está en línea
Usuario novato en la web
Mensajes: 2
 
Fecha de registro: abr 2013
Mensajes: 2
Modelo de smartphone: gt-i9100
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
[PROBLEMA] Lectura de ficheros en Android

Hola, tengo un problema y por mas que busco no se cual es el fallo :S .
Resulta que meto en un fichero un String ( como prueba simplemente ) , en MODE_APPEND , cada vez que pulso un botón... y despues leo lo que se metio en el fichero...
Algo en teoría bastante simple...pues no va... este es el código :

private void escribirEnFichero() {
try {
FileOutputStream fis= openFileOutput("otraPrueba2.dat", Context.MODE_APPEND);
ObjectOutputStream ois=new ObjectOutputStream(fis);
ois.flush();
String cad= new String("Ejemplo3");
Log.d("Fichero", "escribiendo..."+cad);
ois.writeObject(cad);
ois.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.d("Fichero", "escribiendo...1");
e.printStackTrace();
} catch (StreamCorruptedException e) {
Log.d("Fichero", "escribiendo...2");
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
Log.d("Fichero", "escribiendo...3");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private List<String> leerFichero(String nombreFichero) {
ArrayList<String> salida = new ArrayList<String>();


try {
FileInputStream fis = openFileInput("otraPrueba2.dat");
ObjectInputStream is = new ObjectInputStream(fis);
String cad=null;
while ((cad=(String)is.readObject())!=null) {
String cad2=cad;
Log.d("Fichero", "Valor de la cadena : "+cad2);
}
is.close();
} catch (EOFException ex) {

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OptionalDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return salida;
}

Y esta es la salida de LogCat:


04-08 14:05:27.933: D/Fichero(31114): escribiendo...Ejemplo3
04-08 14:05:27.933: D/Fichero(31114): Valor de la cadena : Ejemplo
04-08 14:05:27.933: D/Fichero(31114): Valor de la cadena : Ejemplo2
04-08 14:05:28.443: D/Fichero(31114): escribiendo...Ejemplo3
04-08 14:05:28.443: D/Fichero(31114): Valor de la cadena : Ejemplo
04-08 14:05:28.443: D/Fichero(31114): Valor de la cadena : Ejemplo2

(Ejemplo y Ejemplo2 fueron insertadas antes que Ejemplo3 como prueba en otra ejecución de la app)

Es decir, lo que está pasando es que no inserta nada :S . Probé cambiando el flush() , el close() y el reset() en mil lugares diferentes pero nada, no hay manera :S .

Alguien me echa una mano?

Graciasss!!
Responder Con Cita


  #2  
Viejo 08/04/13, 14:09:16
Avatar de lucas.werner
lucas.werner lucas.werner no está en línea
Usuario novato en la web
Mensajes: 2
 
Fecha de registro: abr 2013
Mensajes: 2
Modelo de smartphone: gt-i9100
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
PD: Ya probé inicializando el String cad , y de mil maneras posibles :S no se cual es el error !
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 18:37:24 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007