title: failling to write to sdcard
body: <p>I can not get my application to write to the sdcard. I have tried several different ways and none of them are working. I have seen several posts here on SO that are having the same problem and the problem is not resolved. Can someone please take a look at my code and see what is wrong?</p>
  
  <p>I have <code>&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt;</code> in my manifest.</p>
  
  <pre><code>                       String inFileName = "/data/data/cpe495.smartapp/files/test.csv"; //TODO Use folder/filename
                            File inFile = new File(inFileName);
                            try{
                            FileInputStream fis = new FileInputStream(inFile);
  
                            String outFileName = Environment.getExternalStorageDirectory()+"/test.csv"; //TODO Use output filename
                            OutputStream output = new FileOutputStream(outFileName);
  
                            byte[] buffer = new byte[1024];
                            int length;
                            while ((length = fis.read(buffer))&gt;0)
                              output.write(buffer, 0, length);
  
                            output.flush();
                            output.close();
                            fis.close();
                            } catch (Exception e) {
                                e.printStackTrace();
                            }   
  </code></pre>
  
  <hr>
  
  <pre><code>04-06 00:17:14.961: WARN/System.err(279): java.io.FileNotFoundException: /mnt/sdcard/test.csv (Permission denied)
  04-06 00:17:15.000: WARN/System.err(279):     at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
  04-06 00:17:15.000: WARN/System.err(279):     at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
  04-06 00:17:15.012: WARN/System.err(279):     at java.io.FileOutputStream.&lt;init&gt;(FileOutputStream.java:97)
  04-06 00:17:15.022: WARN/System.err(279):     at java.io.FileOutputStream.&lt;init&gt;(FileOutputStream.java:168)
  04-06 00:17:15.032: WARN/System.err(279):     at java.io.FileOutputStream.&lt;init&gt;(FileOutputStream.java:147)
  04-06 00:17:15.032: WARN/System.err(279):     at cpe495.smartapp.SmartApp$8.onClick(SmartApp.java:165)
  04-06 00:17:15.041: WARN/System.err(279):     at android.view.View.performClick(View.java:2408)
  04-06 00:17:15.051: WARN/System.err(279):     at android.view.View$PerformClick.run(View.java:8816)
  04-06 00:17:15.062: WARN/System.err(279):     at android.os.Handler.handleCallback(Handler.java:587)
  04-06 00:17:15.062: WARN/System.err(279):     at android.os.Handler.dispatchMessage(Handler.java:92)
  04-06 00:17:15.072: WARN/System.err(279):     at android.os.Looper.loop(Looper.java:123)
  04-06 00:17:15.072: WARN/System.err(279):     at android.app.ActivityThread.main(ActivityThread.java:4627)
  04-06 00:17:15.081: WARN/System.err(279):     at java.lang.reflect.Method.invokeNative(Native Method)
  04-06 00:17:15.091: WARN/System.err(279):     at java.lang.reflect.Method.invoke(Method.java:521)
  04-06 00:17:15.091: WARN/System.err(279):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  04-06 00:17:15.101: WARN/System.err(279):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  04-06 00:17:15.101: WARN/System.err(279):     at dalvik.system.NativeStart.main(Native Method)
  </code></pre>