Android - Creating a folder in the data/data/pkg/files directory

22,312

getContext().getDir() method is your friend

File dir = ctx.getDir("my_sub_dir", Context.MODE_PRIVATE);
File newfile = new File(topDirFile.getAbsolutePath() + File.separator + "new_file_name");
newfile.createNewFile();
BufferedOutputStream fout = new BufferedOutputStream(new FileOutputStream(newfile), 16 * 1024);
Share:
22,312
Tim
Author by

Tim

MOBILE APPLICATION DEVELOPER Interests: Core Location Core Data MapKit CommonCrypto Mobile security concepts JSON/REST Web services HTTP And more...! Developing on the iOS platform since 2011. Experience with Android.

Updated on July 09, 2022

Comments

  • Tim
    Tim almost 2 years

    Referencing this question:

    How to create files hierarchy in Androids '/data/data/pkg/files' directory?

    What kind of a solution is there to this problem using the built in standard Java libraries, how do I navigate to the data/data/pkg directory and create folders and files in there? Maybe using some of the Android calls where possible?

    When a user uses my app I wish to save any files associated with that user in a folder pkg/files/username, so that I can easily read these folders later. My other option is include the username in the filename but this isn't a very suitable and clean method in my opinion.

  • Tim
    Tim about 13 years
    Once I've created the directory using that, how do I access it using openFileOutput() ? Would it not just throw an exception?
  • reflog
    reflog about 13 years
    getDir() returns a File instance. from there you can get use getDir(DIR, ACCESS).getAbsolutePath() + "/" + "file" to get the actual file path and then just use FileInputStream
  • Tim
    Tim about 13 years
    I get an exception whenever I try and do a getDir() for files/username, saying there is a path seperator... how am I supposed to create a directory where I want it without using a path seperator?