Android 使用文件进行数据存储
很多时候我们开发的软件需要对处理后的数据进行存储,以供再次访问。Android为数据存储提供了如下几种方式:
文件SharedPreferences(参数)SQLite数据库内容提供者(Content provider)网络
首先给大家介绍使用文件如何对数据进行存储
Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的
public class FileActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { FileOutputStream outStream = this.openFileOutput("ljq.txt", Context.MODE_PRIVATE); outStream.write("测试数据...".getBytes()); outStream.close(); }}
FileInputStream inStream = this.getContext().openFileInput("ljq.txt");
File file = new File("/data/data/com.ljq.action/files/ljq.txt");FileInputStream inStream = new FileInputStream(file);
package iaiai.test;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.io.OutputStream;public class FileUtil {/** * 保存数据 * * @param outputStream * @param content * @throws Exception */public static void save(OutputStream outputStream, String content)throws Exception {outputStream.write(content.getBytes());outputStream.close();}/** * 读取数据 * * @param inputStream * @return * @throws Exception */public static String read(InputStream inputStream) throws Exception {// 往内存写数据ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();// 缓冲区byte[] buffer = new byte[1024];int len = -1;while ((len = inputStream.read(buffer)) != -1) {byteArrayOutputStream.write(buffer, 0, len);}// 存储数据byte[] data = byteArrayOutputStream.toByteArray();byteArrayOutputStream.close();inputStream.close();return new String(data);}}
package iaiai.test;import android.app.Activity;import android.content.Context;import android.os.Bundle;public class MyList extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);try {FileUtil.save(openFileOutput("test.txt", Context.MODE_PRIVATE),"这是测试数据.....");} catch (Exception e) {e.printStackTrace();}}}