osimer pothe
osimer pothe

Reputation: 2897

Directory not exists in Android

I want to write string of data in a file in android . That is why I have the following code :

public String DumpFile(String fileName,String data)
    {
        String root = Environment.getExternalStorageDirectory().toString();
        File myDir = new File(root + "/saved_data");
        myDir.mkdirs();
        if(myDir.exists())
             Toast.makeText(this, "Directory exists"  ,Toast.LENGTH_LONG).show();
        else
             Toast.makeText(this, "directory not exists " ,Toast.LENGTH_LONG).show();
        //  Random generator = new Random();
        String fname = fileName;
        // showToastOnUiThread("File Name: "+fname+" and Data: "+data,
        // Toast.LENGTH_LONG);
        File file = new File(myDir, fname);
        Toast.makeText(this, "Link is "+file.getAbsolutePath(),Toast.LENGTH_LONG).show();
       // Toast.makeText(this, "Content is "+data,Toast.LENGTH_LONG).show();
        OutputStream bos = null;
        FileOutputStream out = null;
        if (file.exists())
            file.delete();
        try {
            out = new FileOutputStream(file);
            bos = new BufferedOutputStream(out);
            bos.write(data.getBytes());
            bos.flush();
            // out.flush();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (out != null) {
                try {
                    out.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if (bos != null) {
                try {
                    bos.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        return fname; 
    } 

But when I have run the code , I have got the Toast that directory not exists . Where is the error ? Can you help me ?

Upvotes: 0

Views: 62

Answers (1)

SaNtoRiaN
SaNtoRiaN

Reputation: 2202

Add the permission to your manifest

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Upvotes: 1

Related Questions