File文件存储

来源:互联网 发布:乐酷网络网站 编辑:程序博客网 时间:2024/06/05 14:30
package com.example.tyxiong.myapplication;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;/*** Android的数据存储.前面用到PreferencesActivity存储参数设置...shared_文件.*    少数据可用SharedPreferences File来存储;数据量大用SQL,当然手机不是服务器.** SharedPreferences File SD卡 SQLiteDatabase** SharedPreferences:文件存储位置在data/data/<包>.share_.xml  key-value对*  1 SharePreferences,负责读取其内数据3方法;*  2 Editor,SharedPreferences内部接口,负责向其内写数据,4方法(putxxx()/clear()/remove()/commit())**  使用步骤:4步*   1SharedPreferences对象,Context方法getSharedPreferences(name,mode) 获取指定文件名 对象,3模式(private/../..)*   2Editor对象, SharedPreferences对象 edit()方法.*   3Editor对象 写数据.*   4SharedPreferences读.**File存储. java提供了完整的IO流体系.各种流.字节流/字符流/节点流/处理流/转换流/...**         Context有2方法 openFileOutput()4模式(private/append/....)/openFileInput()---文件流.*         Context有4方法访问该程序文件夹. 获取根下指定子目录/根下所有文件/删除根下指定文件/根绝对路径*         使用步骤4:*           1 Context的openFileOutput(指定模式4种)方法获得指定文件名对应文件的outStream(*           2 可包装成打印流)写入数据. 写完关闭流.*           3 Context的openFileInput()方法获得文件的输入流,*           4 可包装成处理流(字符处理流)读行),读出数据,关闭流(顶端流.)*** 以下为File存储取过程.* */public class MainActivity extends Activity {    EditText text;    private final String MY_FILE = "myFile1.txt";    PrintStream print;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        text = (EditText) findViewById(R.id.textView);    }    public void write(View view) throws FileNotFoundException {        FileOutputStream outStream = openFileOutput(MY_FILE, MODE_APPEND);        print = new PrintStream(outStream);        String str = text.getText().toString();       text.setText("");        print.print(str );        print.close();    }    public void read(View view) {        try {            StringBuilder sb = new StringBuilder();            // preference.getAll();            FileInputStream inputStream = openFileInput(MY_FILE);            BufferedReader buffer = new BufferedReader(new InputStreamReader(inputStream));            String temp;            while ((temp = buffer.readLine()) != null) {                sb.append(temp);            }            inputStream.close();            Toast.makeText(MainActivity.this, sb, Toast.LENGTH_SHORT).show();        }        catch (NullPointerException ex)        {            ex.printStackTrace();        }        catch (IOException e){            e.printStackTrace();        }    }}
0 0