Android10.0 外部存储(/storage/emulated/0)无法创建文件夹

乂曱酱 2020-01-06 03:57:53
/**
* @param path 文件夹路径
* @return
*/
public static void isExist(String path) {
File file = new File(path);
//判断文件夹是否存在,如果不存在则创建文件夹
if (!file.exists()) {
//mkdirs 创建多级目录 mkdir创建一级目录
file.mkdirs();

}
}
...全文
9768 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
N#小小程序员 2020-10-14
  • 打赏
  • 举报
回复
mark一下
qq_24683975 2020-07-22
  • 打赏
  • 举报
回复
引用 10 楼 轩辕小照 的回复:
可以在manifest文件中的<application>标签下加上这个属性: android:requestLegacyExternalStorage="true" 这是因为Android10.0改变了文件的存储方式,加这个属性是启用旧的存储方式。 如果是正式项目的话建议使用存储访问框架(SAF)去做文件操作。 PS:我只是个小白,刚好最近遇到这个问题
我也遇到这个问题,看了你的搞定了,谢谢!
爪森 2020-03-21
  • 打赏
  • 举报
回复
赞美
引用 10 楼 轩辕小照 的回复:
可以在manifest文件中的<application>标签下加上这个属性: android:requestLegacyExternalStorage="true" 这是因为Android10.0改变了文件的存储方式,加这个属性是启用旧的存储方式。 如果是正式项目的话建议使用存储访问框架(SAF)去做文件操作。 PS:我只是个小白,刚好最近遇到这个问题
Write_BUG小能手 初级 2020-01-11
  • 打赏
  • 举报
回复
Environment.getExternalStorageDirectory() 改成Environment. getExternalFilesDir() 试试吧
王能 2020-01-11
  • 打赏
  • 举报
回复
看来我还是过时了
绅士1993 2020-01-11
  • 打赏
  • 举报
回复
666666666666
辉_alexxm 2020-01-10
  • 打赏
  • 举报
回复
mark路过学习下
绿之冬 2020-01-10
  • 打赏
  • 举报
回复
引用 10 楼 qq_42724789 的回复:
可以在manifest文件中的<application>标签下加上这个属性: android:requestLegacyExternalStorage="true" 这是因为Android10.0改变了文件的存储方式,加这个属性是启用旧的存储方式。 如果是正式项目的话建议使用存储访问框架(SAF)去做文件操作。 PS:我只是个小白,刚好最近遇到这个问题
太6了,解决了我遇到的问题
轩辕小照 2020-01-07
  • 打赏
  • 举报
回复
可以参考下这两个博客 https://blog.csdn.net/yingchengyou/article/details/99717498 https://blog.csdn.net/honjane/article/details/94288585
轩辕小照 2020-01-07
  • 打赏
  • 举报
回复
可以在manifest文件中的<application>标签下加上这个属性: android:requestLegacyExternalStorage="true" 这是因为Android10.0改变了文件的存储方式,加这个属性是启用旧的存储方式。 如果是正式项目的话建议使用存储访问框架(SAF)去做文件操作。 PS:我只是个小白,刚好最近遇到这个问题
王能 2020-01-06
  • 打赏
  • 举报
回复
如果空app也出问题我也么办法了,可以试试重启手机或者换个手机会不会变正常,实在解决不了砸手机也行...
乂曱酱 2020-01-06
  • 打赏
  • 举报
回复
引用 7 楼 王能 的回复:
你配置文件有写上这2权限吗,我看配置文件不写就会出问题。 你可以试试在运行一个空app配置+动态申请完权限后立即在根目录创建一个test文件
都写了的。。。 嗯,我试试demo
王能 2020-01-06
  • 打赏
  • 举报
回复
你配置文件有写上这2权限吗,我看配置文件不写就会出问题。 你可以试试在运行一个空app配置+动态申请完权限后立即在根目录创建一个test文件
乂曱酱 2020-01-06
  • 打赏
  • 举报
回复
path=Environment.getExternalStorageDirectory().getPath() + "/project_s/ @王能
乂曱酱 2020-01-06
  • 打赏
  • 举报
回复
引用 3 楼 王能 的回复:
刚刚试了没毛病,你动态申请权限了吗? File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt"); 这样写保险点,拼出来是:/storage/emulated/0/test.txt 看看是不是拼错了
我 7.0,8.0没啥问题,9.0,10.0 就报上面那错误
乂曱酱 2020-01-06
  • 打赏
  • 举报
回复 1
引用 3 楼 王能 的回复:
刚刚试了没毛病,你动态申请权限了吗? File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt"); 这样写保险点,拼出来是:/storage/emulated/0/test.txt 看看是不是拼错了
// 所需的全部权限 static final String[] PERMISSIONS = new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE }; 有对这两个权限动态申请
王能 2020-01-06
  • 打赏
  • 举报
回复
刚刚试了没毛病,你动态申请权限了吗? File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt"); 这样写保险点,拼出来是:/storage/emulated/0/test.txt 看看是不是拼错了
乂曱酱 2020-01-06
  • 打赏
  • 举报
回复
报这个 java.ioException:No such file or directory/fail to open file: No such file or directory
乂曱酱 2020-01-06
  • 打赏
  • 举报
回复
有没有大佬有解决方案

80,469

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧