我无法获得在内存中创建文件夹的方法,
我在Android create folders in Internal Memory和Problem facing in reading file from Internal memory of android进行了几次对话。但我仍然无法满足我的要求。
我的要求是,我想在内存中创建一个文件夹,我想存储一个视频。
非常感谢您提前获得有价值的反馈。
答案 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();
}