猿问

如何在android中创建一个新文件夹?

我想在外部存储中创建一个新文件夹。我使用这个代码:


            val folderMain = "name"


        val f = File(getExternalStorageDirectory(), folderMain)

        if (!f.exists()) {

            f.mkdirs()

        }

执行后它工作并在内部存储中创建一个新文件夹,而不是在外部存储中。如何在外部存储中创建新文件夹?


我 100% 确定我的设备中有外部存储,并且它有 14 GB 可用空间,位置是/storage/extSdCard.


我已经在两部三星手机 Android 版 jellybean 和 Kitkat 上测试了此代码,但结果相同。


慕斯王
浏览 388回答 3
3回答

肥皂起泡泡

试试这个代码: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);

皈依舞

执行后它工作并在内部存储中创建一个新文件夹,而不是在外部存储中。不,它会在 Android SDK 所指的外部存储中创建文件。我 100% 确定我的设备中有外部存储,它有 14 GB 可用空间,位置是 /storage/extSdCard。那代表可移动存储。如何在外部存储中创建新文件夹?您现有的代码在外部存储的根目录中创建一个目录。您无法写入可移动存储上的任意位置。最简单的地方写上可移动存储是通过提供的地点getExternalFilesDirs(),getExternalCacheDirs()和getExternalMediaDirs()上一个方法Context。如果这些返回 2+ 个位置,则第二个和后续位置在可移动存储上,并且您对它们具有完全读/写访问权限。

幕布斯6054654

您可以在此处获得问题的答案:https://developer.android.com/training/data-storage我还建议您检查以下结果mkdirs():if (!f.exists() && !f.mkdirs()) {    Log.e("mDebug", "Couldn't create " + f.getName());}
随时随地看视频慕课网APP

相关分类

Java
我要回答