在内存中创建文件夹

时间:2013-04-05 10:00:25

标签: android

我无法获得在内存中创建文件夹的方法,

我在Android create folders in Internal MemoryProblem facing in reading file from Internal memory of android进行了几次对话。但我仍然无法满足我的要求。

我的要求是,我想在内存中创建一个文件夹,我想存储一个视频。

非常感谢您提前获得有价值的反馈。

6 个答案:

答案 0 :(得分:19)

尝试下面的

File mydir = context.getDir("users", Context.MODE_PRIVATE); //Creating an internal dir;
if (!mydir.exists())
{
     mydir.mkdirs();
}     

答案 1 :(得分:8)

以下是我用于在内部存储器中创建文件的代码:

    File myDir = context.getFilesDir();
    // Documents Path
    String documents = "documents/data";
    File documentsFolder = new File(myDir, documents);
    documentsFolder.mkdirs(); // this line creates data folder at documents directory

    String publicC = "documents/public/api." + server;
    File publicFolder = new File(myDir, publicC);
    publicFolder.mkdirs(); // and this line creates public/api.myservername folder in internal memory

答案 2 :(得分:1)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
File direct = new File(Environment.getExternalStorageDirectory()+"/folder_name");

if(!direct.exists()) {
     if(direct.mkdir()); //directory is created;
}

答案 3 :(得分:0)

“data / package_name”目录中有“cacheDirectory”。

如果要在缓存中存储内容,

File cacheDir = new File(this.getCacheDir(), "temp");
if (!cacheDir.exists())
    cacheDir.mkdir();

其中是上下文。

答案 4 :(得分:0)

要在手机主存储器(通常是内部存储器)上创建目录,您应该使用以下代码。请注意Environment.getExternalStorageDirectory()中的ExternalStorage不一定是指sdcard,它返回手机主存储器

File mediaStorageDir = new File(Environment.getExternalStorageDirectory(), "MyDirName");

if (!mediaStorageDir.exists()) {
    if (!mediaStorageDir.mkdirs()) {
        Log.d("App", "failed to create directory");
        return null;
    }
}

电话用户可以看到使用此代码创建的目录。另一种方法(如在接受的答案中)在位置创建目录(/data/data/package.name/app_MyDirName),因此普通电话用户将无法轻松访问它,因此您不应使用它来存储视频/照片等

您需要AndroidManifest.xml中的权限

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

答案 5 :(得分:0)

try {
    File cashDir = new File(dir.getCanonicalPath(),"folder");
    if(!(cashDir.exists())) cashDir.mkdirs();
} catch (IOException e) {
    e.printStackTrace();
}