Android SD卡创建文件和文件夹失败
功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃。
一般情况下,是忘记给予sd卡的读写权限。但是这里面权限已经给了,还是报错。
在网上搜索关于这方面的问题,发现有网友给出解答:
4.4之后,不能随便在sd卡上面创建文件或者文件夹了,
只能在Android/data/你的包名/,
这个路径下创建或者修改,当然,Android/data/你的包名/,这个路径你也是创建不了的,
调用下this.getExternalFilesDir(null)系统会默认给你创建,
然后就可以在Android/data/你的包名/下作读写操作了。
这里面的4.4之后不一定都存在这个问题。说法有点片面。
不过假如app需要分发到应用市场的话,还是需要考虑这方面的。
下面是获取文件路径的几种方式:
System.out.println(Environment.getExternalStorageDirectory().getPath());
System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES));
System.out.println(getExternalCacheDir().toString()); //这个地方不会报错了
System.out.println(getExternalFilesDir(null).toString()); //这个地方不会报错了

后面两个才是需要的。
Android SD卡创建文件和文件夹失败的更多相关文章
- 转-Android 之 使用File类在SD卡中读取数据文件
如果需要在程序中使用sdcard进行数据的存储,那么需要在AndroidMainfset.xml文件中 进行权限的配置: Java代码: <!-- 在sd中创建和删除文件的权限 --> ...
- Qt SD卡 文件系统挂载、文件预览
/********************************************************************************** * Qt SD卡 文件系统挂载. ...
- 获取SD卡中的音乐文件
小编近期在搞一个音乐播放器App.练练手: 首先遇到一个问题.怎么获取本地的音乐文件? /** * 获取SD卡中的音乐文件 * * @param context * @return */ public ...
- Android -- 读写文件到内部ROM,SD卡,SharedPreferences,文件读写权限
(内容整理自张泽华教程) 1. 概述 使用文件进行数据存储 首先给大家介绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过 ...
- Android从raw、assets、SD卡中获取资源文件内容
先顺带提一下,raw文件夹中的文件会和project一起经过编译,而assets里面的文件不会~~~ 另外,SD卡获取文件需要权限哦! //从res文件夹中的raw 文件夹中获取文件并读取数据 p ...
- Android SD卡上文件
1. 得到存储设备的目录:/SDCARD(一般情况下) SDPATH=Environment.getExternalStorageDirectory()+"/"; 2. 判断SD卡 ...
- android打开存储卡(TF卡\SD卡)中的sqlite文件
android的SDK直接支持sqlite3的API. 打开SD卡上面的sqlite数据库,不需要SQLiteOpenHelper的继承类.只需要,SQLiteDatabase中的一些静态方法.如 ...
- 在sd卡,创建目录和文件
在本文中,sd卡的情况下创建的文件和目录,介绍如何创建目录和文件的重点. 1. 路径问题(以下的样例是在Java中測试的,在Android中相同适用) 1.1 假设须要在目录中创建文件的目录存在,直接 ...
- FileUtils【获取SD卡根目录、读写文件、移动、复制、删除文件、获取文件名、后缀名操作类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装了获取SD卡根目录路径.以及对文件读写.获取文件名等相关操作. 因为需要用到android.permission.READ_EX ...
随机推荐
- Oracle EBS-SQL (WIP-6):检查任务已完成但状态是发放的任务.sql
select WE.WIP_ENTITY_NAME ,MSI.SEGMENT1 ,MSI.DESCRIPTION ,WDJ.CLASS_CODE ...
- 常用在线工具及API网址总结
1.小图标在线查找 https://www.iconfinder.com/ 2.在线做图,Flowchart流程图,BPMN图,Org组织结构图等 http://www.processon.com/ ...
- C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0
原文 C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0 前几天遇到了一个在C#的winform程序中,启动一个第三方jar程序,并修改jar运行窗体的标题的问题. ...
- enum flags 枚举Flags标示 位运算符
C#位运算 详见:http://wenku.baidu.com/link?url=4KUNkwuVTm8dwhmPLXeyYytmnDOJnmLG1L2C77kP-rY0On33ksQxwchoTlq ...
- mit java open course assignment #2
package come; public class Marothon { public static void FirstName(String[] args1,int[] args2){ int ...
- python 如何判断对象是否为类(class)
if type(att).__name__ == 'classobj': pass else: pass
- Oracle 基础查询知识点
1.Oracle 别名 如果非固定格式的列名可以如此 select last_name as name from employees 如果想显示固定格式的别名的话,则别名必须使用"" ...
- Pods 更新后提示Bundle资源找不到
http://www.oschina.net/question/101347_2159145
- vue+webpack一些知识
使用mac的用户需要获取权限才可以使用npm install指令 设置node目录的权限指令 sudo chmod -R 777 /usr/local/lib/node_modules/ 大家都知道国 ...
- gulp简单使用小记
npm install --save-dev 写入package.json里 var gulp = require('gulp'); var less = require('gulp-less ...