我试图在android上的SD卡上构建一个名为“images”的目录。这是我的代码,但它不起作用?谁能给我一些建议?
File picDirectory = new File("mnt/sdcard/images");
picDirectory.mkdirs();
答案 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();