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

Reply via email to