首页 > 代码库 > 文件存储详解

文件存储详解

将数据存储到文件中:

OpenFileOutput(文件名,文件的操作模式);

操作模式:

MODE_PRIVATE:文件同名的时候,写入的内容会覆盖原文件中的内容

MODE_APPEND:如果文件存在就往文件中添加内容,写入内容不会覆盖原文件内容

openFileOutput()方法返回的是一个FileOutputStream对象,得到了这个对象之后就可以使用Java流的方式将数据写入到文件中了.

通过openFileOutput()方法能够得到一个FileOutputStream对象,

然后再借助FileOutputStream构建出一个OutputStreamWriter对象,接着再使用OutputStreamWriter构建出一个BufferedWriter对象

这样就可以通过BufferedWriter来将文本内容写入到文件中了.

从文件中读取数据:

通过openFileInput()方法获取到了一个FileInputStream对象

然后借助FileInputStream又构建出了一个InputStreamReader对象,接着再使用InputStreamReader构建出一个BufferedReader对象

这样就可以通过BufferedReader进行一行行地读取

把文件中所有的文本内容全部读取出来并存放在一个StringBuilder对象中

最后将读取到的内容返回就可以了

package com.jia.filepersistencetest;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import android.view.Menu;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
	private EditText edit;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		edit = (EditText) findViewById(R.id.edit);
		String inputText = load();
		if (!TextUtils.isEmpty(inputText)) {
			edit.setText(inputText);
			edit.setSelection(inputText.length());
			Toast.makeText(this, "Restoring succeeded", Toast.LENGTH_LONG)
					.show();

		}
	}

	@Override
	protected void onDestroy() {
		String inputText = edit.getText().toString();
		save(inputText);
		super.onDestroy();
	}

	public void save(String inputText) {
		// String data = http://www.mamicode.com/"Data to save";>

文件存储详解