SOLVED! THANK YOU Android-Developers group! Thank you so much for your help. It is wonderful to have someplace to go for answers.
John Brown On Aug 9, 11:59 am, john brown <johnbrowngreybe...@gmail.com> wrote: > Hello, > > Documentation source > >http://developer.android.com/guide/topics/data/data-storage.html > > "Every Android-compatible device supports a shared "external storage" > that you can use to save files. This can be a removable storage media > (such as an SD card) or an internal (non-removable) storage. Files > saved to the external storage are world-readable and can be modified > by the user when they enable USB mass storage to transfer files on a > computer." > > PROBLEM: I cannot write to a file on the sdcard. > QUESTION: Is it possible to write to a file on the sdcard? > > If YES, what do I need to do to make File.canWrite = true? > > I am using Android 2.1 update 1, API level 7, Eclipse, and HVGA skin. > > I am running my app / troubleshooting on the Android SDK ADV. > > When the AVD is running, I check settings > sdcard total 49.21MB, > available 49.07MB. > > Environment.getExternalStorageState() yields > MEDIA_MOUNTED > > getExternalStorageDirectory() to establish the sdcard root directory. > > I copied the files to the sdcard with "adb push source destination" > > I am able to successfully read other files in that directory. > > psudo code: > // __________________________________________________ > File fFile = new File(pathFile); > if (fFile.exists()){ ... // returns true > if (fFile.canRead()){ ... // returns true > if (fFile.canWrite()){ ... // returns false > try{ > FileWriter Fw = new FileWriter(fFile, true); > BufferedWriter Bw = new BufferedWriter(Fw); > PrintWriter outPw = new PrintWriter(Bw, true); > outPw.println(strRec); > outPw.close(); > > } > > catch(IOException ex){ > System.out.println("IO Error - " + ex.toString()); > System.exit(0); > > } > > // ____________________________________________________ > > System.out shows: > IO Error - java.io.FileNotFoundException > but we know the file is there from the preceding checks: > if (fFile.exists()){ ... // returns true > if (fFile.canRead()){ ... // returns true > > What do I need to do to make the file writable? > Or > I want to write to the file. What am I doing wrong? > > Thanks, John Brown > > P.S. > I got a command prompt via c:\Program Files\Android-SDK\tools> adb > shell > > # ls -l /sdcard/Android/data/lms > ----rwxr-x system sdcard_rw 63 2010-07-19 15:17 > mpReadAbDdx201006.txt > ----rwxr-x system sdcard_rw 45211 2010-07-19 15:17 > mpTranAbDdx201006.txt > > The way I read this is that the owner's rights are ---, group is rwx, > others is r-x. I'm just guessing, the application is others? > > But I cannot get chmod to change the attributes, i.e.: > > # chmode o-rwx /sdcard/Android/data/lms/mpReadAbDdx201006.txt > Bad mode > > (I get the same file attributes when I copy file to sdcard via DDMS > File Explorer.) > > Where can I find documentation to the Android linux (?) commands? (I > mean the command line commands) -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en