报错描述:
对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往Sdcard上传文件报Failed to push selection: Read-only file system
原因分析:
1、在android 1.5版本 FleOutputStream file = new FileOuptutStream(“/sdcard/test.txt”);在1.5里面如果test.txt不存在的话,系统会自动的为你创建这个文件,但是到了2.2以上的手机上,不会创建该文件。
2、要确保Sdcard卡文件是可读写的,若不是就不可以创建和读写SD卡上的文件
解决办法:
1、针对高版本的android不会创建不存在文件,new File 必需加底下这句:
1 if(!file.exist()) 2 { 3 file.createNewFile(); 4 }
2、要确保SD 卡文件是可读写的,首先创建的模拟器在File Exprorer下sdcard的permissions是d---rwxr-x就可以,如果是d------------就不行,
不行的话考虑:
a)重启IDE并且新建个带Sdcard模拟器;
b)检查你的路径是不是对的。应该在Environment.getExternalStorageDirectory().getAbsolutePath()这个目录下写东西,最好不要用绝对路径;
c)记得在AndroidManifest.xml中加入访问SDCard的权限;