安卓文件保存、读取工具类,可以直接用,包含路径说明
来源:互联网 发布:黑暗网络泄露图片 编辑:程序博客网 时间:2024/06/05 18:53
/** * 描述:工具类,用于文件的保存,读取 * 创建人:菜籽 * 创建时间:2017/7/26 下午5:36 * 备注: */public class FileUtils { private final static String SHARED_PREFERENCE_FILE_NAME = "information"; /** * 将文件保存到APP安装目录下的缓存中 * 从安卓整洁度考虑,不要把缓存文件放到公共路径下, * 说实话,我很鄙视这种在SD卡根目录建立文件夹的行为 * 如果要长久保存,则放在getExternalFilesDir(null)中 * 如果是作为缓存,则放在getExternalCacheDir()中 * 保存到私有存储的话,不需要申请额外权限 * * context.getExternalFilesDir(null)————/storage/emulated/0/Android/包名/files * * context.getExternalCacheDir()————————/storage/emulated/0/Android/包名/cache * * context.getFilesDir()————————————————/data/data/包名/files * * context.getCacheDir()————————————————/data/data/包名/cache * * context.getExternalFilesDir(null)————共有存储目录,跟SD卡中Android目录同级,需要申请读写权限 * * 注意:调用以上接口保存的数据,在APP下载之后,数据会随之删除,不留垃圾 * 注意:data 分区十分有限,不建议把大型数据保存在 data 分区下 * 注意:Google建议把数据保存在/storage/emulated/0/Android/包名/files下 * 注意:上面方法中需要填写参数的接口,内部的参数可以指定子文件夹,参数可以放Environment.DIRECTORY_PICTURES之类的 * 比如context.getExternalFilesDir(Environment.DIRECTORY_DCIM) * * * @param fileName : 保存之后的文件名字 * @param bytes : 要保存的文件的字节流 * @return */ public static boolean saveFileToInnerStorage(Context context, String fileName, byte[] bytes) { File file = new File(context.getExternalCacheDir(), fileName); if (file.exists()) { file.delete(); } try { FileOutputStream outputStream = new FileOutputStream(file); outputStream.write(bytes); outputStream.flush(); outputStream.close(); return true; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } /** * 从APP安装目录下的缓存中获取保存的文件 * * @param context * @param fileName * @return */ public static byte[] readFileFromInnerStorage(Context context, String fileName) { File file = new File(context.getExternalCacheDir(), fileName); try { FileInputStream inputStream = new FileInputStream(file); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); int len = 0; byte[] bytes = new byte[1024]; while ((len = inputStream.read(bytes)) != -1) { outputStream.write(bytes, 0, len); } byte[] array = outputStream.toByteArray(); return array; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } //********通过SharedPreference保存数据,保存路径为/data/data/包名/XX public static boolean saveDataWithSharedPreference(Context context, String key, String value) { SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE_FILE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key, value); return editor.commit(); } public static boolean saveDataWithSharedPreference(Context context, String key, int value) { SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE_FILE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putInt(key, value); return editor.commit(); } public static boolean saveDataWithSharedPreference(Context context, String key, boolean value) { SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE_FILE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putBoolean(key, value); return editor.commit(); } //*******通过SharedPreference读取数据 public static String readDataWithSharedPreference(Context context, String key) { SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE_FILE_NAME, Context.MODE_PRIVATE); String value = sharedPreferences.getString(key, null); return value; } public static int readDataWithSharedPreference(Context context, String key, int defaultValue) { SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE_FILE_NAME, Context.MODE_PRIVATE); int value = sharedPreferences.getInt(key, defaultValue); return value; } public static boolean readDataWithSharedPreference(Context context, String key, boolean flag) { SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE_FILE_NAME, Context.MODE_PRIVATE); boolean value = sharedPreferences.getBoolean(key, flag); return value; }}
阅读全文
1 0
- 安卓文件保存、读取工具类,可以直接用,包含路径说明
- 文件保存路径工具类
- 静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取
- 安卓获取IP,纯代码,可以直接用。
- 安卓文件读取
- 关于创建Excel表格问题(保存至指定文件/弹出直接打开还是下载,并可以选择保存路径的对话框)
- 安卓开发文件保存
- android 可以直接拿去用的工具类方法
- 不经保存,直接读取上传文件的内容
- 不保存直接读取上传文件的内容!
- 不经保存,直接读取上传文件的内容
- 不经保存,直接读取上传文件的内容
- 不经保存,直接读取上传文件的内容
- 不经保存,直接读取上传文件的内容
- 不经保存,直接读取上传文件的内容
- 不经保存,直接读取上传文件的内容
- 不经保存,直接读取上传文件的内容
- C# 读写XML文件封装, 直接按类来保存和读取
- jsp中的<%@ ...%>
- [Eclipse]
- javaweb中运用fileupload上传文件
- PAT乙级 1033. 旧键盘打字(20)--字符ASCII码的应用
- SBC介绍
- 安卓文件保存、读取工具类,可以直接用,包含路径说明
- PAT乙级 1034. 有理数四则运算(20)
- javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- Tyvj1952 Easy OSU
- 20170726 jQuery练习题 表格操作练习题
- 大家好
- HDU6034(多校联合B题,25进制模拟)
- QT-继承QWidget 设置样式无效解决
- PAT乙级 1035. 插入与归并(25)--模拟插入归并算法