我想在外部存储中创建一个新文件夹。我使用以下代码:
val folderMain = "name"
val f = File(getExternalStorageDirectory(), folderMain)
if (!f.exists()) {
f.mkdirs()
}
执行后,它会在内部存储(而不是外部存储)中创建并创建一个新文件夹。如何在外部存储中创建新文件夹?
我100%确定设备中有外部存储,并且其中有14 GB的可用空间,位置为/storage/extSdCard
。
我已经在两部三星手机Android版本的jellybean和Kitkat上测试了此代码,但结果相同。
答案 0 :(得分:0)
您可以在这里找到问题的答案:
https://developer.android.com/training/data-storage
我还建议您检查if let image = self.dictImages.object(forKey: indexPath)
{
cell?.newsImg.image = image as? UIImage
}
else{
storageRef.getData(maxSize: 1 * 1024 * 1024) { data, error in
if let error = error {
print(error)
} else {
if let data = data
{
let image = UIImage(data: data)
self.dictImages.setObject(image, forKey: indexPath as NSCopying)
cell?.newsImg.image = image
}
}
}
的结果:
mkdirs()
答案 1 :(得分:0)
执行后,它可以工作并在内部存储而不是外部存储中创建一个新文件夹。
否,它将以Android SDK称为external storage的名称创建文件。
我100%确定设备中有外部存储,并且其中有14 GB的可用空间,位置是/ storage / extSdCard。
如何在外部存储中创建新文件夹?
您现有的代码在外部存储的根目录中创建一个目录。您无法写入可移动存储中的任意位置。
可移动存储上最简单的写入位置是getExternalFilesDirs()
上的getExternalCacheDirs()
,getExternalMediaDirs()
和Context
方法提供的位置。如果这些返回的位置超过2个,则第二个及后续位置位于可移动存储中,并且您具有对它们的完全读取/写入权限。
答案 2 :(得分:0)
尝试此代码:
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);