¿Cómo puedo guardar un archivo en la SD? – java android

Pregunta:


¿Alguien sabe cómo puedo guardar un archivo en la SD (memoria externa)?

Estoy intentando mediante el uso de:

Environment.getExternalStorageDirectory()

pero siempre lo guarda en la memoria interna.

Preguntado por: Edgar Arana

Agrega tu código pero lo que comentas no es posible:

Uso Environment.getExternalStorageDirectory() pero siempre lo guarda en >la memoria interna

Definitivamente mediante getExternalStorageDirectory() se obtiene la ruta del almacenamiento externo, este debe ser usado como ruta para guardar tu archivo.

Este es un método de ejemplo para escribir un archivo:

private void writeToExternalStorage(){

    File dir = new File(Environment.getExternalStorageDirectory() +  "/midirectorio");
    dir.mkdirs();
    File file = new File(dir, "miArchivo.txt");
    try {
        FileOutputStream f = new FileOutputStream(file);
        PrintWriter pw = new PrintWriter(f);
        pw.println("Hola Stackoverflow.");
        pw.println("......");
        pw.flush();
        pw.close();
        f.close();
    } catch (FileNotFoundException e) {
        Log.e(TAG, "Error " + e.getMessage());
    } catch (IOException e) {
        Log.e(TAG, "Error " + e.getMessage());
    }   

}

el método obtiene una ruta por medio de getExternalStorageDirectory(), crea un directorio y escribe un archivo dentro:

introducir la descripción de la imagen aquí

Intenta esto

File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/carpeta1/carpeta2");
dir.mkdirs();
File file = new File(dir, "filename");

FileOutputStream f = new FileOutputStream(file);

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *