文件存储详解
来源:互联网 发布:星盘哪些数据最重要 编辑:程序博客网 时间:2024/06/05 22:04
将数据存储到文件中:
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;@Overrideprotected 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();}}@Overrideprotected void onDestroy() {String inputText = edit.getText().toString();save(inputText);super.onDestroy();}public void save(String inputText) {// String data = "Data to save";FileOutputStream out = null;BufferedWriter writer = null;try {out = openFileOutput("data", Context.MODE_PRIVATE);// 通过openFileOutput()方法能够得到一个FileOutputStream对象,writer = new BufferedWriter(new OutputStreamWriter(out));// 然后再借助FileOutputStream构建出一个OutputStreamWriter对象,接着再使用OutputStreamWriter构建出一个BufferedWriter对象writer.write(inputText);// 这样就可以通过BufferedWriter来将文本内容写入到文件中了.} catch (Exception e) {e.printStackTrace();} finally {try {if (writer != null) {writer.close();}} catch (Exception e) {e.printStackTrace();}}}public String load() {BufferedReader reader = null;StringBuilder content = new StringBuilder();try {FileInputStream in = openFileInput("data");// 通过openFileInput()方法获取到了一个FileInputStream对象reader = new BufferedReader(new InputStreamReader(in));// 然后借助FileInputStream又构建出了一个InputStreamReader对象,接着再使用InputStreamReader构建出一个BufferedReader对象String line = "";while ((line = reader.readLine()) != null) {// 这样就可以通过BufferedReader进行一行行地读取content.append(line);// 把文件中所有的文本内容全部读取出来并存放在一个StringBuilder对象中}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if (reader != null) {try {reader.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}return content.toString();// 最后将读取到的内容返回就可以了}}
1 1
- 文件存储详解
- Android文件存储详解
- android之文件存储详解
- android内部存储读写文件详解
- 分布式文件存储FastDFS配置文件详解
- Android数据存储方式之文件存储详解
- Android之数据存储详解(一)之文件存储和SharedPreferences存储
- android 数据存储和访问方式一:文件详解
- Plist文件存储及沙盒路径详解
- 图片或者其他文件在数据库的存储方式详解
- ext2/3文件系统存储,查找,新建,删除文件机制详解
- 分布式文件存储FastDFS(七)FastDFS配置文件详解
- Android 数据存储详解(SharedPreferences, 文件, Sqlite, ContentProvider)
- OpenCv中,文件存储类FileStorage类源代码详解
- Android 文件存储详解(SD卡或手机内存存储)
- android中的文件操作详解以及内部存储和外部存储
- android中的文件操作详解以及内部存储和外部存储
- android中的文件操作详解以及内部存储和外部存储
- 将数据保存的SDCard
- 盒子情缘:渐行渐远渐无书
- C++ static成员变量与static成员函数
- Android LCD(三):Samsung LCD接口篇
- 品牌管理公开课 2015年 3月广州班
- 文件存储详解
- 导弹拦截
- log4j与commons-logging,slf4j的关系
- iOS 播放沙盒视频
- 几种三维图画法
- RedHat 5下安装gcc编译环境的具体步骤
- JavaScript学习(一)
- Swing的类层次结构
- 抓包工具wireshark简要使用(一)