Android入门:File文件存储,读取

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import android.content.Context;

public class FileHelper {

	/**
	 * 上下文对象
	 * */
	private Context context;

	public FileHelper(Context context) {
		this.context = context;
	}

	/**
	 * 将内容保存到文件中
	 * 
	 * @param filename
	 *            文件名称
	 * @param content
	 *            文本内容
	 * */
	public void SaveFile(String filename, String content) {
		try {
			// 私有操作模式,创建出来的文件内容只能被本应用访问;写入内容会覆盖原内容;
			FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);
			// 1.Context.MODE_PRIVATE:私有覆盖模式 只能被当前应用访问,并且如果写入,则覆盖;
			// 2.Context.MODE_APPEND:私有追加模式 只能被当前应用访问,并且如果写入,则追加;
			// 3.Context,MODE_WORLD_READABLE:公有只读模式 可以被其他应用读取;
			// 4.Context.MODE_WORLD_WRITEABLE:公有可写模式 可以被其他应用写入,但不能读取;
			// 注意,如果希望其他使得文件模式叠加,则可以使用加号连接; 比如:Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE 表示其他应用读写;
			outStream.write(content.getBytes("UTF-8"));
			outStream.close();
			// 注意:文件默认会存储到/data/data/package/files中;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 读取文件内容
	 * 
	 * @param filename
	 *            文件名称
	 * */
	public String ReadFile(String filename) {
		String result = null;
		try {
			FileInputStream in = null;
			ByteArrayOutputStream bout = null;
			byte[] buf = new byte[1024];
			bout = new ByteArrayOutputStream();
			int length = 0;
			in = context.openFileInput(filename);// 获得输入流
			while ((length = in.read(buf)) != -1) {
				bout.write(buf, 0, length);
			}
			byte[] content = bout.toByteArray();
			result = new String(content, "UTF-8");// 设置文本框为读取的内容
			in.close();
			bout.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}

}

网友评论

无吐槽,不精彩,期待您的参与。

吐槽几句

"(必填)"

"(选填)"

"(必填,不公开)"

(必填,最多100个字符。)

先说这么多吧