monchyrcg
27/06/12, 18:15:09
Buenas tardes, tengo una aplicación que cojo un txt de la sd y lo leo todo funcionaba bien pero ahora me da un error. En realidad no es un error la aplicación cuando arranca se queda con la pantalla en negro así todo el tiempo, en el logcat no me aparece error solo una linea que pone:
06-27 17:40:57.527: I/dalvikvm(3610): Wrote stack traces to '/data/anr/traces.txt'
En el traces.txt aparece esto:
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 SUSPENDED
| group="main" sCount=1 dsCount=0 obj=0x400245c8 self=0xcfb8
| sysTid=3610 nice=0 sched=0/0 cgrp=default handle=-1345006464
at java.io.FileInputStream.read(FileInputStream.java: ~290)
at java.io.FileInputStream.read(FileInputStream.java: 245)
at com.zonasVuelo.Monchy.ZonasVueloActivity.leer(Zona sVueloActivity.java:126)
at com.zonasVuelo.Monchy.ZonasVueloActivity.leerPunto sPropios(ZonasVueloActivity.java:198)
at com.zonasVuelo.Monchy.ZonasVueloActivity.onCreate( ZonasVueloActivity.java:116)
at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1622)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1674)
at android.app.ActivityThread.access$1500(ActivityThr ead.java:117)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99 )
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.jav a:3694)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:618)
at dalvik.system.NativeStart.main(Native Method)
Doy por hecho que la maquina virtual de java tiene problemas a la hora de leer el txt pero no se porque, el archivo traces.txt si lo leéis me da error en una línea 126 en esa línea esta el siguiente código.
while(fileIN.read(reader)!= -1){ }
Este código esta en un método que también lo pongo
private String leer(){
String todo = null;
if(sitios.exists() && sitios.canRead()){
FileInputStream fileIN = null;
try{
fileIN = new FileInputStream(sitios);
byte [] reader = new byte[fileIN.available()];
while(fileIN.read(reader)!= -1){ }
todo = new String(reader);
}catch(Exception ex){
ex.printStackTrace();
}finally{
if(fileIN != null){
try{
fileIN.close();
}catch(IOException ioExcep){
ioExcep.printStackTrace();
}
}
}
}
return todo;
}
Muchas gracias, un saludo.
06-27 17:40:57.527: I/dalvikvm(3610): Wrote stack traces to '/data/anr/traces.txt'
En el traces.txt aparece esto:
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 SUSPENDED
| group="main" sCount=1 dsCount=0 obj=0x400245c8 self=0xcfb8
| sysTid=3610 nice=0 sched=0/0 cgrp=default handle=-1345006464
at java.io.FileInputStream.read(FileInputStream.java: ~290)
at java.io.FileInputStream.read(FileInputStream.java: 245)
at com.zonasVuelo.Monchy.ZonasVueloActivity.leer(Zona sVueloActivity.java:126)
at com.zonasVuelo.Monchy.ZonasVueloActivity.leerPunto sPropios(ZonasVueloActivity.java:198)
at com.zonasVuelo.Monchy.ZonasVueloActivity.onCreate( ZonasVueloActivity.java:116)
at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1622)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1674)
at android.app.ActivityThread.access$1500(ActivityThr ead.java:117)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99 )
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.jav a:3694)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:618)
at dalvik.system.NativeStart.main(Native Method)
Doy por hecho que la maquina virtual de java tiene problemas a la hora de leer el txt pero no se porque, el archivo traces.txt si lo leéis me da error en una línea 126 en esa línea esta el siguiente código.
while(fileIN.read(reader)!= -1){ }
Este código esta en un método que también lo pongo
private String leer(){
String todo = null;
if(sitios.exists() && sitios.canRead()){
FileInputStream fileIN = null;
try{
fileIN = new FileInputStream(sitios);
byte [] reader = new byte[fileIN.available()];
while(fileIN.read(reader)!= -1){ }
todo = new String(reader);
}catch(Exception ex){
ex.printStackTrace();
}finally{
if(fileIN != null){
try{
fileIN.close();
}catch(IOException ioExcep){
ioExcep.printStackTrace();
}
}
}
}
return todo;
}
Muchas gracias, un saludo.