在android中创建目录

时间:2011-03-12 01:26:05

标签: java android

我试图在android上的SD卡上构建一个名为“images”的目录。这是我的代码,但它不起作用?谁能给我一些建议?

File picDirectory = new File("mnt/sdcard/images");
picDirectory.mkdirs();

8 个答案:

答案 0 :(得分:64)

您希望确定您正确找到SD卡的地址,但无法确定它始终位于任何特定地址。您需要执行以下操作!

File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"images");
directory.mkdirs();

请告诉我这是否适合您!

您还需要AndroidManifest.xml

中的以下一行

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

答案 1 :(得分:9)

我用它来知道结果:

File yourAppDir = new File(Environment.getExternalStorageDirectory()+File.separator+"yourAppDir");

    if(!yourAppDir.exists() && !yourAppDir.isDirectory()) 
    {
        // create empty directory
        if (yourAppDir.mkdirs())
        {
            Log.i("CreateDir","App dir created");
        }
        else
        {
            Log.w("CreateDir","Unable to create app dir!");
        }
    }
    else
    {
        Log.i("CreateDir","App dir already exists");
    }

答案 2 :(得分:3)

你可以用这个:

File directory = new File(Environment.getExternalStorageDirectory() + "/images");
directory.mkdirs();

答案 3 :(得分:1)

值得注意的一件事是,如果你总是从mkdirs()中弄错,请尝试从电脑上拔下你的设备,看看它是否可以创建文件夹。至少我试过,它对我有用,目前我正在寻找解决这个问题的方法。

答案 4 :(得分:0)

要创建特定的根目录及其子文件夹,请使用此代码

String root = Environment.getExternalStorageDirectory().toString();//get external storage

File myDir = new File(root + "/grocery"+"/photo/technostark");//create directory and subfolder

File dir=new File(root + "/grocery"+"/data");//create subfolder

myDir.mkdirs();

dir.mkdirs();

答案 5 :(得分:0)

要在SD卡内创建文件,您必须使用 Environment.getExternalStorageDirectory()

   /**
     * Creates a new directory inside external storage if not already exist.
     *
     * @param name The directory name
     */
    public static void createNewDirectory(String name) {
            // create a directory before creating a new file inside it.
            File directory = new File(Environment.getExternalStorageDirectory(), name);
            if (!directory.exists()) {
                directory.mkdirs(); 
            }
        }

以下两个重要参数可帮助您创建目录  1. directory.mkdirs():

创建此文件命名的目录,创建缺少的父目录       目录,如有必要。  2. directory.mkdir():

创建此文件命名的目录,假设其父项存在。

有关 getExternalStorageDirectory()的更多信息,请参阅link

答案 6 :(得分:0)

这应该有所帮助 首先获取外部存储的路径:

File root=Environment.getExternalStorageDirectory();

然后:

File picDirectory = new File(root.getAbsolutePath(), "mnt/sdcard/images");
picDirectory.mkdirs();           

答案 7 :(得分:0)

Environment.getExternalStorageDirectory()已过时。所以你应该使用这个:

File directory = new File(this.getExternalFilesDir(null).getAbsolutePath() + "/YourDirectoryName");
directory.mkdirs();