Android studio 创建本地文件时没有权限的怪现象

eclipse 里面的配置

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />



在eclipse

if (checkSDCard()) {
int api = Build.VERSION.SDK_INT;
if (api < 17) {
filePath = Environment.getExternalStorageDirectory()
.getAbsolutePath();
} else {
filePath = "/sdcard";
}
} else {
filePath = context.getFilesDir().getAbsolutePath();
}
if (!filePath.endsWith("/")) {
filePath += "/";
}
filePath += "pojieban/file/";
File file = new File(filePath);
if (!file.exists())
file.mkdirs();
filePath = filePath + fileName + ".txt";

}

直接创建文件夹,并获得文件夹路径,就可以添加一个文件名,并且把文件内容写在这个文件里面。


但是到了Android studio 却行不通了,在Android studio里面文件并没有写进去,连filepath底下的文件都没有创建

Android studio 的配置是

扫描二维码关注公众号,回复: 9716979 查看本文章

compileSdkVersion 25
buildToolsVersion '25.0.2'

defaultConfig {
    applicationId "com.weizhong.yiwan"
    minSdkVersion 14
    targetSdkVersion 19
}

而且调用 file.createNewFile()的时候还提示没有权限。


目前只知道这个现象,还没有明白具体是为什么,特此记录一下


补充:已查证清楚,原因是在机身存储卡中已经存在PoJieBan这个文件夹,所以在创建pojieban这个文件夹的时候,因为名字一样,大小写不一样所以创建不了。只要名字命名正确还是可以创建的。闹了个乌龙,做技术的就是经常遇见匪夷所思的问题,找来找去最后发现原来就是最简单的地方出了错,把问题想复杂了



发布了63 篇原创文章 · 获赞 41 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/MarketAndTechnology/article/details/72934375
今日推荐