3 回答
TA贡献1829条经验 获得超6个赞
试试这个代码:
String fileName = "myfile.zip";
File ZIP_Directory = new File("/sdcard/MOBstate/");
ZIP_Directory.mkdirs();
File outputFile = new File(PDF_Directory, fileName);
FileOutputStream fos = new FileOutputStream(outputFile);
TA贡献1851条经验 获得超3个赞
执行后它工作并在内部存储中创建一个新文件夹,而不是在外部存储中。
不,它会在 Android SDK 所指的外部存储中创建文件。
我 100% 确定我的设备中有外部存储,它有 14 GB 可用空间,位置是 /storage/extSdCard。
那代表可移动存储。
如何在外部存储中创建新文件夹?
您现有的代码在外部存储的根目录中创建一个目录。您无法写入可移动存储上的任意位置。
最简单的地方写上可移动存储是通过提供的地点getExternalFilesDirs()
,getExternalCacheDirs()
和getExternalMediaDirs()
上一个方法Context
。如果这些返回 2+ 个位置,则第二个和后续位置在可移动存储上,并且您对它们具有完全读/写访问权限。
TA贡献1876条经验 获得超7个赞
您可以在此处获得问题的答案:
https://developer.android.com/training/data-storage
我还建议您检查以下结果mkdirs():
if (!f.exists() && !f.mkdirs()) {
Log.e("mDebug", "Couldn't create " + f.getName());
}
添加回答
举报