How do you write to a folder on an SD card in Android?

后端 未结 4 1421
深忆病人
深忆病人 2020-11-22 07:50

I am using the following code to download a file from my server then write it to the root directory of the SD card, it all works fine:

package com.downloader;         


        
4条回答
  •  忘掉有多难
    2020-11-22 08:30

    Found the answer here - http://mytechead.wordpress.com/2014/01/30/android-create-a-file-and-write-to-external-storage/

    It says,

    /**
    
    * Method to check if user has permissions to write on external storage or not
    
    */
    
    public static boolean canWriteOnExternalStorage() {
       // get the state of your external storage
       String state = Environment.getExternalStorageState();
       if (Environment.MEDIA_MOUNTED.equals(state)) {
        // if storage is mounted return true
          Log.v("sTag", "Yes, can write to external storage.");
          return true;
       }
       return false;
    }
    

    and then let’s use this code to actually write to the external storage:

    // get the path to sdcard
    File sdcard = Environment.getExternalStorageDirectory();
    // to this path add a new directory path
    File dir = new File(sdcard.getAbsolutePath() + "/your-dir-name/");
    // create this directory if not already created
    dir.mkdir();
    // create the file in which we will write the contents
    File file = new File(dir, "My-File-Name.txt");
    FileOutputStream os = outStream = new FileOutputStream(file);
    String data = "This is the content of my file";
    os.write(data.getBytes());
    os.close();
    

    And this is it. If now you visit your /sdcard/your-dir-name/ folder you will see a file named - My-File-Name.txt with the content as specified in the code.

    PS:- You need the following permission -

    
    

提交回复
热议问题