Android学习笔记之File存储(一)

一、在程序当前目录下读写文件

1、将Textiew或Editiew的内容写入文件中

....
write(et1.getText().toString());//et为EditText,即调用write(String),目标文件在write()中
...
protected void write(String Content) {
        // TODO Auto-generated method stub
        try{
            String name=et2.getText().toString()+".txt";//目标文件为name.txt
            FileOutputStream out = openFileOutput(name,MODE_APPEND);//实例化文件输出流对象,不存在则自动新建
            out.write(Content.getBytes());
            out.close();//关闭文件流
        }
        catch(Exception e){
            e.printStackTrace();
        }

注意:(1) 在使用openFileOutput方法打开文件以写入数据时,需要指定打开模式。默认为零,即MODE_PRIVATE。

不同的模式对应的的含义如下:
          常量                                                                             含义 
MODE_PRIVATE                              默认模式,文件只可以被调用该方法的应用程序访问 

MODE_APPEND                              如果文件已存在就向该文件的末尾继续写入数据,而不是覆盖原来的数据。 

MODE_WORLD_READABLE           赋予所有的应用程序对该文件读的权限。

MODE_WORLD_WRITEABLE          赋予所有的应用程序对该文件写的权限。 

2、将某文本文件的内容读出来显示

...
tv.setText(read());//tv为Textiew类型,将目标文件value的内容在tv上显示出来
...
private String read(){
        try{
            //实例化文件输入流对象
            FileInputStream fis=openFileInput(value);
            byte[] buffer=new byte[fis.available()];//读到缓冲区
            fis.read(buffer);
            return new String(buffer);
            //try在读文件过程中会多次执行,不要随便加命令进去
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }
原文地址:https://www.cnblogs.com/xingyyy/p/3265874.html