gpt4 book ai didi

android - 在android的根目录下创建文件夹并写入

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:09 27 4
gpt4 key购买 nike

我不是要写入位于/mnt/sdcard 的外部 sd。我正在尝试为可能的应用程序文件创建一个文件夹,并让其他人可以访问它们。

我有一个名为 Libra 的应用程序,它在导出数据时生成 .csv 文件,所有文件都转到/Libra/文件夹。我希望我的应用程序也能这样做。

据我所知,外部存储是 sd,内部存储是应用程序的非公共(public)场所。

如何像 Libra 那样在 android 文件系统的根目录下创建一个目录?

如果我请求外部存储,我会得到以下不需要的位置:

Environment.getExternalStorageDirectory()
/storage/emulated/0/ (in my Nexus)
/mnt/sdcard (in the emulator)

如果我尝试在绝对路径/MyDiary 中创建文件夹,它会返回创建文件夹时出错

File folder = new File("/MyDiary");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
Toast.makeText(getBaseContext(), "Already exists", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getBaseContext(), "Error creating directory", Toast.LENGTH_LONG).show();
return;
}

如果我尝试检查 Libra 文件夹是否存在,它会说它不存在:

File folder = new File("/Libra");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
Toast.makeText(getBaseContext(), "Libra exists", Toast.LENGTH_LONG).show();
}

注意:我有在外部存储中写入的 list 权限。

最佳答案

根是一个虚拟磁盘。其中一些文件夹是由init.rc创建的。只有 init.rc 有权限在 ramdisk 中创建文件夹。如果您通过 init.rc 创建文件夹,您仍然需要 init.rc 帮助在新文件夹上挂载真正的存储设备。

The init.rc file regenerated on restart 一样重新打包

关于android - 在android的根目录下创建文件夹并写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15587458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com