我想在Sdcard中创建dir,然后按照以下步骤操作:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在清单中添加: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 card
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将文件保存到外部存储
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句