Android本地数据的存储和读取(文件格式)
来源:互联网 发布:诺德软件 编辑:程序博客网 时间:2024/04/25 06:59
最经在做项目的时候,遇到了文件的存储读取问题,总体来说,代码实现起来还是挺简单的。数据在移动端的存储其实有很多方式,比如SharePreference方式,SQLite方式,文件形式。这块儿我主要讲的是以文件的形式存储与读取。
手机端能放置文件存储的地方有两个,内存与sdcard,以下以函数的形式给出,分别为1写文件在内存,2写文件在sdcard,3读在内存上的文件,4读在sdcard上的文件。
1 写文件在内存
//写文件在 (内存)上采用OpenFileOutput方法 public void WriteFile(String path) throws IOException{ int len = 0; String sentence = "sdfsdf"; byte[] buffer = sentence.getBytes(); len = buffer.length; FileOutputStream out = openFileOutput(path, MODE_PRIVATE); //使用openFileOutput方法内存地址不能有分割符 try { out.write(buffer,0 ,len); Log.i(TAG, "文件生成");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{out.close();} }在实现写文件到内存时,我们需要使用的是Andriod自带的openFileOutput方法,不能使用FileOutputStrem(写文件到sdcard),并且参数path只能是类似这种形式(tsd.txt)不能是(/data/data/tsd.txt)这种形式。
2写文件在sdcard上
//写文件在(Sdcard)上采用FileOutputStream方法 ,注意加权限 public void WriteFile1(String path) throws IOException{ FileOutputStream fout = new FileOutputStream(path); byte[] buffer = "dfgdfgdfg".getBytes(); int len = buffer.length; fout.write(buffer, 0, len); fout.close(); Log.i(TAG, "成功"); }不能使用openFileoutput方法,只能使用FileOutputStream方法,并且需要添加权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
允许挂载和反挂载文件系统可移动存储。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
模拟器中sdcard中创建文件夹权限
3 读在内存上的文件
//读文件在(内存)上采用openFileInput的方法 public void ReadFile(String path) throws IOException { String content = null ; FileInputStream read = openFileInput(path); byte[] aaa = new byte[read.available()]; read.read(aaa); content = new String(aaa); Log.i(TAG, content); //创建一个内存输出流对象 /* ByteArrayOutputStream outstream = new ByteArrayOutputStream(); int len = 0; byte [] buffer = new byte[1024]; try { while((len = read.read(buffer)) != -1){ outstream.write(buffer, 0, len); }content = outstream.toByteArray();Log.i(TAG, new String(content));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}*/ }与写文件在内存上一样,见代码,注释的方法也可以实现,路径与写文件在内存是一样的
4 读在sdcard上的文件
//读文件在(Sdcard)上采用FileInputStream public void ReadFile1(String path){ String contentsd = ""; try { FileInputStream input = new FileInputStream(path); byte[] buffer = new byte[input.available()]; input.read(buffer); contentsd = new String(buffer); Log.i(TAG, contentsd);; input.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }采用FileInputSteram方法
逻辑清楚,代码简单
源代码地址:http://download.csdn.net/detail/danielntz/9505813
0 0
- Android本地数据的存储和读取(文件格式)
- SharedPreferences存储和读取本地数据
- Android应用程序本地数据的写入和读取
- Unity3D本地数据存储读取
- 数据加载存储和文件格式
- Android数据存储—SharedPreferences的保存和读取
- android 本地存储数据
- Android本地数据存储
- Android SharedPreferences存储和读取数据
- Android读取本地存储和SD卡文件
- Android本地数据持久化:内部存储和外部存储
- Android-在手机本地保存数据和读取数据
- Android - 读取文件存储的数据
- Android 存储数据之1 读取文件和存储文件
- 读取本地存储的图片
- 数据的本地存储
- 计算机中数据的存储和读取
- 大数据的存储和读取
- 使用springMVC实现文件上传和下载之文件下载
- Carthage使用记录
- mysql中IN,OR,BETWEEN性能比较
- PAT-B 1015. 德才论
- Java 建造模式实例
- Android本地数据的存储和读取(文件格式)
- HDU-4612-Warm up(无向图缩点+直径)
- UVA 11988 Broken Keyboard 链表
- 查看Windows 10系统是否永久激活
- JAVA设计模式(04):创建型-建造模式(Builder)
- 【饥荒mod制作吧第五篇】MOD下载及安装
- Android利用tcpdump和wireshark抓取网络数据包
- Linux下python升级至2.7步骤
- LUA学习(五) 迭代器