我尝试在android 4.4.2版本的SD卡中创建一个文件夹。 我尝试以下代码
String dirName="Test";
File file = new File(Environment.getExternalStorageDirectory(), dirName);
boolean status = file.mkdir();
if (status)
Toast.makeText(MainActivity.this,
"Directory created successfully", Toast.LENGTH_SHORT)
.show();
else
Toast.makeText(MainActivity.this, "Directory create failed",
Toast.LENGTH_SHORT).show();
但它会在内部存储空间中创建一个文件夹。
我尝试了另一个代码
String path=System.getenv("SECONDARY_STORAGE");
File file=new File(path +"/Test123");
file.mkdir();
它在Android 4.1中的外部SDCARD中创建了一个文件夹,但在android 4.4.2
中没有那么如何在android 4.4.2中的外部SD卡中创建一个文件夹? 如果有人知道请帮助我..
提前致谢
答案 0 :(得分:2)
文档说明了
应用程序不应直接使用此顶级目录 以避免污染用户的根命名空间。任何文件 私有应用程序应放在由返回的目录中 Context.getExternalFilesDir,系统将负责处理 删除应用程序是否已卸载。
其中top-level directory
表示Enviroment.getExternalStorageDirectory()
使用getExternalFilesDir
,您将拥有
File file = new File (getExternalFilesDir(null), dirName);
if (!file.exists()) {
boolean status = file.mkdir();
if (status) {
Toast.makeText(MainActivity.this, "Directory created successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Directory create failed", Toast.LENGTH_SHORT).show();
}
}
你也应该知道mkdir()
如果目录已经存在则返回false
答案 1 :(得分:1)
这应该是不言自明的。
String folderName = "NewFolder";
File file = new File(Environment.getExternalStorageDirectory(),
folderName);
if (!file.exists()) {
file.mkdirs();
}
确保您在清单中添加了WRITE_EXTERNAL_STORAGE权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />