File数据存储
2016-07-11 16:52
204 查看
把数据保存到文件中
从文件中读取数据
package com.gao.filesave; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; 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; /** * 文件存储 */ public class MainActivity extends AppCompatActivity { EditText mEditText; Button mButton,save; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEditText = (EditText) findViewById(R.id.input); mButton = (Button) findViewById(R.id.button); save = (Button) findViewById(R.id.button2); save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String text = mEditText.getText().toString(); if (!TextUtils.isEmpty(text)){ save(text); mEditText.setText(""); }else { Toast.makeText(MainActivity.this, "保存数据为空", Toast.LENGTH_SHORT).show(); } } }); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //从文件中读取文本数据 String inputText = load(); if (!TextUtils.isEmpty(inputText)) { mEditText.setText(inputText); //调用 setSelection 方法将输入光标移动到文本的末尾位置以便于继续输入 mEditText.setSelection(inputText.length()); Toast.makeText(MainActivity.this, "成功回现数据", Toast.LENGTH_SHORT).show(); } } }); } /** * //从文件中读取文本数据的方法 * * @return */ private String load() { FileInputStream fis = null; BufferedReader bufferedReader = null; StringBuilder content = new StringBuilder(); try { //先通过 openFileInput()方法获取到了一个 FileInputStream 对象 fis = openFileInput("data"); //再 构建出了一个 InputStreamReader对象 bufferedReader = new BufferedReader(new InputStreamReader(fis)); String line = ""; while ((line = bufferedReader.readLine()) != null) { content.append(line); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (bufferedReader != null) { try { bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } } } return content.toString(); } @Override protected void onDestroy() { super.onDestroy(); String text = mEditText.getText().toString(); save(text); } //将文本内容写入到文件中 /** * 保存数据的方法 * * @param input 输入的内容 */ private void save(String input) { FileOutputStream out = null; BufferedWriter bufferedWriter = null; try { //通过 openFileOutput()方法能够得到一个 FileOutputStream 对象 out = openFileOutput("data", Context.MODE_PRIVATE); //然后再构建出一个 OutputStreamWriter 对象 bufferedWriter = new BufferedWriter(new OutputStreamWriter(out)); bufferedWriter.write(input); //通过 BufferedWriter 来将文本内容写入到文件中 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (bufferedWriter != null) { try { bufferedWriter.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- 一些关于数据存储和查询优化的想法
- 正确面对服务器数据存储防止数据丢失
- 高性能Javascript笔记 数据的存储与访问性能优化
- 在android开发中进行数据存储与访问的多种方式介绍
- Android数据存储之SQLite使用
- Android 数据存储方式有哪几种
- Android平台中实现数据存储的5种方式
- 四种Android数据存储方式
- JavaScript数据存储 Cookie篇
- Python使用shelve模块实现简单数据存储的方法
- android中使用SharedPreferences进行数据存储的操作方法
- Android基础——数据存储
- 使用偏好设置存储数据
- Android实现数据存储5种技术
- Android数据的四种存储方式
- LUN 是个什么东西
- 编程狂人第三十一期
- 编程狂人第三十三期,程序员必读的技术周刊
- Android数据储存——SharedPreferences储存
- android中数据存储的ContentProvider的使用方法