Android数据存储:(内存储)基础

来源:互联网 发布:Linux 终端 color 编辑:程序博客网 时间:2024/06/06 09:06
1.保存文件到内存储(date/data目录下),使用输出流

2从内存储中读取文件,使用输入流

3.把文件从内存储中删除

程序代码:

 

package com.example.administrator.jreduch08;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;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;public class InnerIoActivity extends AppCompatActivity {    private EditText content;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_inner_io);        Button save= (Button) findViewById(R.id.save);        Button read= (Button) findViewById(R.id.read);        Button delete= (Button) findViewById(R.id.delete);        content= (EditText) findViewById(R.id.content);        final TextView show= (TextView) findViewById(R.id.show);        save.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {               saveFile();            }        });        read.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                show.setText(readFile());            }        });        delete.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {               removeFile();            }        });    }//把文件从内存储中删除    public void removeFile(){        String[] files=fileList();        for(String str:files){            Log.d("====", str);            if(str.equals("text.txt")){                deleteFile("text.txt");                break;            }        }    }    //保存文件到内存储(date/data目录下),使用输出流    public void saveFile(){        FileOutputStream fos=null;        try {            /*openFileOutput返回一个 输出字节流              指向的路径为 data/date/包名/files              参数1:文件名称(如果不存在则自动创建)              参数2: 模式 MODE_APPEND文件内容可追加                     模式 MODE_PRIVATE文件内容可覆盖            * */            fos=openFileOutput("text.txt", MODE_PRIVATE);            String str=content.getText().toString();            fos.write(str.getBytes());            Toast.makeText(getBaseContext(),"保存成功",Toast.LENGTH_SHORT).show();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }finally {            if(fos!=null){                try {                    fos.flush();                    fos.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }    //从内存储中读取文件,使用输入流    public String readFile(){        BufferedReader reader=null;//包装流        FileInputStream fis=null;        StringBuilder sbd=new StringBuilder();        try {            fis=openFileInput("text.txt");            reader=new BufferedReader(new InputStreamReader(fis));            sbd.append(getFilesDir().getCanonicalPath());//得到文件的路径            String row="";            while((row=reader.readLine())!=null){                sbd.append(row);            }        } catch (FileNotFoundException e) {           // e.printStackTrace();            Toast.makeText(getBaseContext(),"文件不存在",Toast.LENGTH_SHORT).show();        } catch (IOException e) {            e.printStackTrace();        }finally {            if(reader!=null){                try {                    reader.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }      return sbd.toString();    }}

 

.

1 0
原创粉丝点击