Storing data on SD Card in Android
        Posted  
        
            by BBoom
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by BBoom
        
        
        
        Published on 2010-05-24T09:06:09Z
        Indexed on 
            2010/05/24
            9:11 UTC
        
        
        Read the original article
        Hit count: 651
        
Using the guide at Android Developers (http://developer.android.com/guide/topics/data/data-storage.html) I've tried to store some data to the SD-Card. This is my code:
    // Path to write files to
    String path = Environment.getExternalStorageDirectory().getAbsolutePath() +
                  "/Android/data/"+ctxt.getString(R.string.package_name)+"/files/";
    String fname = "mytest.txt";
    // Current state of the external media
    String extState = Environment.getExternalStorageState();
    // External media can be written onto
    if (extState.equals(Environment.MEDIA_MOUNTED))
    {
        try {
            // Make sure the path exists
            boolean exists = (new File(path)).exists();  
            if (!exists){ new File(path).mkdirs(); }  
            // Open output stream
            FileOutputStream fOut = new FileOutputStream(path + fname);
            fOut.write("Test".getBytes());
            // Close output stream
            fOut.flush();
            fOut.close();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
When I create the new FileOutputStream I get a FileNotFound exception. I have also noticed that "mkdirs()" does not seem to create the directory. Can anyone tell me what I'm doing wrong? I'm testing on an AVD with a 2GB sd card and "hw.sdCard: yes", the File Explorer of DDMS in Eclipse tells me that the only directory on the sdcard is "LOST.DIR".
© Stack Overflow or respective owner