我正在开发一个安卓应用程序。我需要在内部存储器中创建一个文件夹,但是当我尝试创建该文件夹时,出现以下错误。我在模拟器中运行。
mkdir failed for /mnt/New Folder , read only file system
我尝试了很多路径,但错误仍然存在。我能够创建的唯一文件夹称为“缓存”,但我无法通过文件选择器活动浏览它。知道在没有任何权限的情况下创建文件夹的合适位置在哪里吗?
我正在开发一个安卓应用程序。我需要在内部存储器中创建一个文件夹,但是当我尝试创建该文件夹时,出现以下错误。我在模拟器中运行。
mkdir failed for /mnt/New Folder , read only file system
我尝试了很多路径,但错误仍然存在。我能够创建的唯一文件夹称为“缓存”,但我无法通过文件选择器活动浏览它。知道在没有任何权限的情况下创建文件夹的合适位置在哪里吗?
您可以通过 Context 对象(如 Activity)来实现它。
File files_folder = getFilesDir();
File files_child = new File(files_folder, "files_child");
files_child.mkdirs();
File created_folder = getDir("custom", MODE_PRIVATE);
File f1_child = new File(created_folder, "custom_child");
f1_child.mkdirs();
功能
getFilesDir()
将在内部存储器中获取文件夹 data/data/yourpackagename/files。和功能
getDir("custom", MODE_PRIVATE)
将在您的应用内部文件夹中创建一个名为 app_custom 的文件夹。
Minhtdh 回答
我猜你所说的内部存储器实际上是外部存储器(可以通过
文件选择器活动,真正的内存只有在你已经root的情况下才能打开)
如果这是真的,您应该检查以下内容:-首先,您需要 Manisfest 中的写入存储权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- 那么你应该使用`
字符串路径 = Environment.getExternalStorageDirectory().getAbsolutePath() + "/yourfoldername"
` 比
mnt/你的文件夹名
mkdirs
创建文件夹而不是mkdir