Wednesday, 7 August 2013

Files created by my app aren't added to the visible file system

Files created by my app aren't added to the visible file system

Here is the code I'm running:
File root =
android.os.Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File dir = new File(root.getAbsolutePath());
dir.mkdirs();
File file = new File(dir, "myData.txt");
try {
FileOutputStream f = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(f);
pw.println("Hi , How are you");
pw.println("Hello");
pw.flush();
pw.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
android.util.Log
.i("tag",
"******* File not found. Did you add a
WRITE_EXTERNAL_STORAGE permission to the
manifest?");
} catch (IOException e) {
e.printStackTrace();
}
The code executes without issues, and if I run these tests, all show that
file is present on the file system:
File testFile = new File(dir, "myData.txt");
Boolean exists = testFile.exists();
Boolean hidden = testFile.isHidden();
String[] files = dir.list();
BUT I can't see the file in File Explorer or Root Browser or Terminal
Emulator. AND the list of files queried by dir.list() is different from
what I see in Root Browser in /mnt/sdcard/Downloads. I tried searching for
the file myData.txt in Terminal Emulator with find / -name *myData* with
no results.
I'm running the code on a rooted s4, the AndroidManifest contains
WRITE_EXTERNAL_STORAGE permission.
Why is this happening and how do I get the user to see the file after it
has been created?

No comments:

Post a Comment