【发布时间】:2018-04-30 23:38:27
【问题描述】:
我尝试在我的 android 模拟器中创建文件,但是当我完成我的代码时。 我找不到我从 android 设备监视器创建的文件。
这是我的代码:
try {
if (Environment.getExternalStorageState()
.equals(Environment.MEDIA_MOUNTED)) {
System.out.println("can be read and write");
File sdFile = android.os.Environment.getExternalStorageDirectory();
//String path = sdFile.getPath() + File.separator + "DestPdf";
String path = sdFile.getPath() + "/demos/file/tmp/test";
File dirFile = new File(path);
if (!dirFile.exists()) { // if file doesn't exist
System.out.println("create file");
dirFile.mkdir(); // create file
System.out.println(dirFile.toString());
}
}
} catch (Exception ex) {
ex.toString();
}
我还添加了一些权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
这是我的打印输出,我可以看到根目录 /storage/sdcard/demos/file/tmp/test
11-17 08:38:10.263 15501-15501/? I/System.out: can be read and write
11-17 08:38:10.263 15501-15501/? I/System.out: create file
11-17 08:38:10.264 15501-15501/? I/System.out: /storage/sdcard/demos/file/tmp/test
我错过了哪一步?任何帮助,将不胜感激 。提前致谢。
【问题讨论】:
-
您尝试创建的不是文件而是目录。甚至三个目录。所以你应该使用 mkdirs()。
-
抱歉输入错误,它是文件夹,我尝试 mkdirs(),它没有工作。
-
if(!dirFile.mkdirs()){Toast(..... 无法创建目录...);返回;}