Android mkdirs() sdcard 不起作用

标签 android mkdirs

我想在 Sdcard 中创建目录,并且我确实遵循:

  1. 我添加了:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />在 list 中。
  2. 我通过以下方式获取 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/

相关文章:

android - 将 Google Play 游戏与 Firebase 结合使用

iphone - 我应该使用哪个威瑞信 SSL 证书?

java - 仅在一个目录中调用 MediaScanner (android)

android - 如何在Android的camera2 API中复用MediaRecorder的Surface?

android - 是否可以同时在 iOS 和 Android 模拟器上启用热重载?

android - 将文件保存在内部存储android中

Java - 文件 - mkdirs 不创建目录

Java,如何在远程主机中创建新目录。