【Android进阶】如何使用文件来保存程序中的数据
来源:互联网 发布:4399刷盒币软件 编辑:程序博客网 时间:2024/05/21 22:36
在程序中,有很多保存和获取数据的方法,本篇文章,主要介绍使用文件系统对程序中的数据进行保存和读取的操作
我直接写了一个帮助类,进行文件的写入和读取操作
/** * 用于在文件中保存程序数据 * * @author zhaokaiqiang * */public class FileHelper {private static final String TAG = "FileHelper";private Context mContext;FileHelper(Context _mContext) {mContext = _mContext;}// 在手机本地硬盘中保存信息public void save(String fileName, String content) {FileOutputStream fileOutputStream = null;try {fileOutputStream = mContext.openFileOutput(fileName,Context.MODE_PRIVATE);fileOutputStream.write(content.getBytes());} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (fileOutputStream != null) {fileOutputStream.close();}} catch (IOException e) {e.printStackTrace();}}}// 读取手机硬盘中保存的文件public void read(String fileName) {FileInputStream fileInputStream = null;try {fileInputStream = mContext.openFileInput(fileName);int len = 0;byte[] buffer = new byte[1024];ByteArrayOutputStream byteArrayInputStream = new ByteArrayOutputStream();while ((len = fileInputStream.read(buffer)) != -1) {byteArrayInputStream.write(buffer, 0, len);}String string = new String(byteArrayInputStream.toByteArray());Log.d(TAG, string);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (fileInputStream != null) {try {fileInputStream.close();} catch (IOException e) {e.printStackTrace();}}}}}
注意:使用写入操作的时候,写入的内容会将上次写入的内容进行覆盖
写入的文件保存在/data/data/package name/files目录下,使用DDMS可以进行查看
如下图所示:
使用DDMS将文件导出,即可查看内容
上面这些是将数据写入到我们的手机自带的存储空间里,如果想写入我们的SDCard,那么应该怎么做呢?
下面的写入到SDCard的操作
// save infomation in the SDCardpublic boolean saveToSDCard(String fileName, String content) {// judge weather the SDCard exits,and can be read and writtenif (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {return false;}FileOutputStream fileOutputStream = null;File file = new File(Environment.getExternalStorageDirectory(),fileName);try {fileOutputStream = new FileOutputStream(file);fileOutputStream.write(content.getBytes());return true;} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (fileOutputStream != null) {fileOutputStream.close();}} catch (IOException e) {e.printStackTrace();}}return false;}
下面是读取位于SDCard根目录下文件的操作方法
// read the file in the SDCardpublic String readFromSD(String fileName) {FileInputStream fileInputStream = null;File file = new File(Environment.getExternalStorageDirectory(),fileName);try {fileInputStream = new FileInputStream(file);int len = 0;byte[] buffer = new byte[1024];ByteArrayOutputStream byteArrayInputStream = new ByteArrayOutputStream();while ((len = fileInputStream.read(buffer)) != -1) {byteArrayInputStream.write(buffer, 0, len);}String string = new String(byteArrayInputStream.toByteArray());return string;} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (fileInputStream != null) {try {fileInputStream.close();} catch (IOException e) {e.printStackTrace();}}}return null;}
3 0
- 【Android进阶】如何使用文件来保存程序中的数据
- 【Android进阶】如何使用文件来保存程序中的数据
- 如何使用文件来保存程序中的数据
- 如何使用文件来保存程序中的数据
- 使用文件来保存程序中的数据
- c++使用vector来保存程序数据
- 使用SharedPreferences来保存数据
- 在android中使用java 的preferences来保存数据
- android中的数据保存
- android 文件保存数据
- 如何把文件中的数据读入程序
- android工程中把数据保存到文件中的class
- python中的文件数据保存
- 『Python思考』利用字典来保存程序中的文件地址(路径名)
- Android下使用Properties文件保存程序设置
- Android下使用Properties文件保存程序设置
- Android下使用Properties文件保存程序设置
- Android下使用Properties文件保存程序设置
- 对HTML字符编码格式的探究
- 堆与堆排序
- Android聊天软件的开发
- 宏的基本用法
- 规范男发给你
- 【Android进阶】如何使用文件来保存程序中的数据
- ruby remove duplicates from multidimensional array
- 调试规则,debugging rules
- ZOJ Monthly, June 2014 月赛BCDEFGH题题解
- windows下用BOSH lite方式在单个VM中安装Cloud Foundry2.x
- poj-1068
- Linux 文件编程的两种不同方式
- 二维数组基本操作
- 行列式求值