|
||
|
|
|
|||||||
| 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
|
||||
|
||||
|
[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!! |
|
|
|
#2
|
||||
|
||||
|
PD: Ya probé inicializando el String cad , y de mil maneras posibles :S no se cual es el error !
|
![]() |
Estás aquí
|
||||||
|
||||||