
【Android数据存储】文件存取的方法
碎片化存储可能导致路径异常,需谨慎处理。 确认写入权限,避免存储在不可写目录。 文件路径应避免使用特殊字符如 强大灵活性:支持多种存储类型和写入模式。 性能优化:支持追加写入和定向写入操作,提升文件处理效率。 兼容性风险:需注意不同设备和系统版本的差异。 资源管理:确保尽早释放资源,避免内存泄漏。
发布日期:2021-05-14 18:00:49
浏览次数:13
分类:精选文章
本文共 1760 字,大约阅读时间需要 5 分钟。
Android 文件存储与读取方法说明
一、文件存储的常规方法
在 Android 开发中,文件的存储包括写入和读取两个主要操作。本节将介绍实现文件存储的关键方法。
1.1 写入文件的实现
public static boolean writeFile(byte[] content, String path, boolean append) { boolean res = false; File f = new File(path); RandomAccessFile raf = null; try { if (f.exists()) { if (!append) { f.delete(); f.createNewFile(); } } else { f.createNewFile(); } if (f.canWrite()) { raf = new RandomAccessFile(f, "rw"); raf.seek(raf.length()); raf.write(content); res = true; } } catch (Exception e) { HnLogUtils.e("Err", e.toString()); } finally { IOUtils.close(raf); } return res;}
2.2 读取文件的实现
public static String readFileList(File filePath) { FileReader fir = null; BufferedReader bufr = null; String data = null; try { if (!filePath.exists() || !filePath.isFile()) { filePath.createNewFile(); } fir = new FileReader(filePath); bufr = new BufferedReader(fir); data = bufr.readLine(); } catch (IOException e) { e.printStackTrace(); } return data;}
二、文件存储路径构造
在 Android 中,获取文件路径的方式可以通过以下步骤实现:
String path = mContext.getFilesDir().getAbsolutePath();path = path + File.separator + directoryName + File.separator + fileName;
其中:
directoryName
:对应命名空间下的文件夹,如chat
。fileName
:文件名,如hearder.png
。
最终路径为:/data/user/0/com.my.company/files/chat/hearder.png
需要注意以下几点:
/
。三、文件存储的优缺点总结
文件存储方法的关键在于合理选择存储路径、控制写入模式,以及及时处理异常情况,以确保文件操作的稳定性和可靠性。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年05月04日 10时53分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxWidgets源码分析(5) - 窗口管理
2019-03-06
wxWidgets源码分析(7) - 窗口尺寸
2019-03-06
wxWidgets源码分析(8) - MVC架构
2019-03-06
wxWidgets源码分析(9) - wxString
2019-03-06
Mybatis Generator最完整配置详解
2019-03-06
[白话解析] 深入浅出熵的概念 & 决策树之ID3算法
2019-03-06
[梁山好汉说IT] 梁山好汉和抢劫银行
2019-03-06
[源码解析] 消息队列 Kombu 之 基本架构
2019-03-06
[源码分析] 消息队列 Kombu 之 启动过程
2019-03-06
[源码分析] 消息队列 Kombu 之 Consumer
2019-03-06
抉择之苦
2019-03-06
wx.NET CLI wrapper for wxWidgets
2019-03-06
ASP.NET MVC Action Filters
2019-03-06
Powershell中禁止执行脚本解决办法
2019-03-06
HTTP协议状态码详解(HTTP Status Code)
2019-03-06
OO_Unit2 多线程电梯总结
2019-03-06
04_Mysql配置文件(重要参数)
2019-03-06