Estoy tratando de escribir un archivo desde una respuesta de Http post a un archivo en la sdcard. Todo funciona bien hasta que se recupera la matriz de bytes de datos.Escribiendo un archivo en una tarjeta SD
He intentado configurar el permiso WRITE_EXTERNAL_STORAGE
en el manifiesto y probé muchas combinaciones diferentes de tutoriales que encontré en la red.
Todo lo que pude encontrar fue el uso del método openFileOutput("",MODE_WORLD_READABLE)
, pero la forma en que mi aplicación escribe el archivo es mediante el uso de un hilo. Específicamente, se invoca un subproceso desde otro subproceso cuando se debe escribir un archivo, , por lo que no funcionó dar un objeto de actividad aunque lo probé.
La aplicación ha recorrido un largo camino y no puedo cambiar la forma en que se escribe actualmente la aplicación.
Por favor, ¿alguien me ayude?
CÓDIGO:
File file = new File(bgdmanip.savLocation);
FileOutputStream filecon = null;
filecon = new FileOutputStream(file);
byte[] myByte;
myByte = Base64Coder.decode(seReply);
bos.write(myByte);
filecon.write(myByte);
myvals = x * 11024;
bgdmanip.savLocation
mantiene unido al camino archivos. seReply
es una respuesta de cadena desde la respuesta HttpPost
. El segundo conjunto de código se enlaza con referencia a x
. El archivo se crea pero permanece en 0 bytes.
Gracias Erich. Estoy pasando la ruta completa como una cadena como esta "/sdcard/filename.ext". también se creó el archivo pero el tamaño del archivo sigue siendo de 0 bytes. Además, no puedo usar los controles de archivos push/pull del DDMS en eclipse. –
Es posible que deba publicar algo de su código de escritura de archivo para ayudar a diagnosticar el problema. No todo, pero al menos lo básico de lo que está pasando. Además, ¿ves algún mensaje en LogCat? –
Erich, he actualizado el código. no se crean mensajes sobre operaciones de archivos en LogCat. Cambié el código mucho tiempo porque recibí errores en algunos códigos, pero no recuerdo qué código me dio errores. –