How to create file directories and folders in Andr

2019-03-11 09:22发布

问题:

I am working on a video editor program and am fairly new to android and java. What I would like to happen is when the user presses "create new project" button, a dialog pops up asking the user for the name of the project. I have that part down, but what I then want, is when the user presses "ok" on that dialog, my code will take the name and create a directory inside of my data/data file for my project and inside of that directory create folders titled 1 to 5 or more. I really don't know how to go about this, so any input would be truly appreciated.

回答1:

As sgarman proposed you can use the SD card (and I think it's better) but if you want to use your application dir you can get it by calling getFilesDir() from your activity, it will return a File object of /data/data/your.app/files then you can get the path and append the new directory:

String dirPath = getFilesDir().getAbsolutePath() + File.separator + "newfoldername";
File projDir = new File(dirPath);
if (!projDir.exists())
    projDir.mkdirs();
...


回答2:

The proper way to get a directory that, for the primary device owner, resides under Android/data/packagename on external storage, is just to call getExternalFilesDir() on an available Context.

That is,

File folder = context.getExternalFilesDir("YOUR FOLDER NAME");

And also you have to add write permission in Manifest

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


回答3:

You can do almost all of that using the File and use something like this Save an edited image to the SD card



回答4:

Check out the getFilesDir method which will return the directory you're looking for. You'll probably want to make a subdirectory as well.