我想在 Sdcard 中创建目录,并且我确实遵循:
- 我添加了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在 list 中。 - 我通过以下方式获取 root_path:
public static final String ROOT_PATH = Environment.getExternalStorageDirectory().toString() + "/Hello_World/";
它返回/storage/emulated/0/Hello_World
(调试时获取)。
接下来,我运行此代码:
File file = new File(Constants.ROOT_PATH);
int i = 0;
while (!file.isDirectory() && !file.mkdirs()) {
file.mkdirs();
Log.e("mkdirs", "" + i++);
}
我也尝试了 mkdirs()
和mkdir()
但它在 logcat ( Log.e("mkdirs", "" + i++);
) 中显示无限循环。有时有效,但有时无效。
谢谢你的帮助!
Update
:我在某些设备上尝试了我的代码:Nexus4、Nexus7、Vega Iron、Genymotion、LG G Pro,然后 Vega Iron 按预期工作。 ??!!?!?
最佳答案
尝试这样,它会在sd卡
中创建一个文件夹
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/hello_world");
myDir.mkdirs();
如果您想检查该文件是否存在,请使用此代码
File file = new File (myDir, file_name);
if (file.exists ())
// file exist
else
// file not exist
作为引用,请查看此答案 Android saving file to external storage
关于Android mkdirs() sdcard 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22495495/