storage/emulated/0路径下的File.listFiles返回值为null

回值为null
前言
为了获取Android手机中某个文件夹下的所有文件夹或文件,我们利用File类的listFiles方法,但是,有些文件路径下明明有子文件,可是该方法总是返回null值。比如Android虚拟机中的storage/emulated/0路径下明明有子文件,但是,listFiles却返回null。
Android手机文件路径问题真的是很恶心,我也是栽了很多坑,现在将关于该问题的解决方案分享。

-----------------------------------------------分割线-----------------------------------------------

一、利用如下代码获取手机外存文件中的所有子文件

 String path = Environment.getExternalStorageDirectory().getAbsolutePath();
 File DirOrFile=new File(path );
 File[] files = DirOrFile.listFiles();

二、但是,以上代码会返回null值,此时,打开Android studio的build.gradle(Module.app)文件,将其中的targetSdkVersion修改为22(小于23即可),不必管它是否报错,直接点击提示的【Sync Now】

三、完成之后,再将targetSdkVersion修改回您原先的版本号即可解决问题(我也不知道发生了什么神奇的事情,但是,这样就是解决了)

猜你喜欢

转载自blog.csdn.net/feng8403000/article/details/114906353