博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android先进】如何使用数据文件来保存程序
阅读量:5346 次
发布时间:2019-06-15

本文共 3432 字,大约阅读时间需要 11 分钟。

在程序,有许多方法来存储和检索数据,本文,它描述了如何使用文件系统来保存数据编程和读取操作

我直接写了一个帮助类,进行文件的写入和读取操作

/** * 用于在文件里保存程序数据 *  * @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 SDCard	public boolean saveToSDCard(String fileName, String content) {		// judge weather the SDCard exits,and can be read and written		if (!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 SDCard	public 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;	}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/gcczhongduan/p/4621060.html

你可能感兴趣的文章
Open multiple excel files in WebBrowser, only the last one gets activated
查看>>
FFmpeg进行视频帧提取&音频重采样-Process.waitFor()引发的阻塞超时
查看>>
最近邻与K近邻算法思想
查看>>
【VS开发】ATL辅助COM组件开发
查看>>
FlatBuffers In Android
查看>>
《演说之禅》I & II 读书笔记
查看>>
thinkphp3.2接入支付宝支付接口(PC端)
查看>>
response和request
查看>>
【转】在Eclipse中安装和使用TFS插件
查看>>
回到顶部浮窗设计
查看>>
C#中Monitor和Lock以及区别
查看>>
【NOIP2017】奶酪
查看>>
$ 一步一步学Matlab(3)——Matlab中的数据类型
查看>>
5.6.3.7 localeCompare() 方法
查看>>
Linux下好用的简单实用命令
查看>>
常用web字体的使用指南
查看>>
描绘应用程序级的信息
查看>>
poj2406-Power Strings
查看>>
2018/12/18 JS会像Linux一样改变编程
查看>>
php环境搭建脚本
查看>>