在Android中,我们可以将一些数据直接以文件的形式保存在设备中。例如:一些文本文件、PDF文件、音视频文件和图片等。Android  提供了文件读写的方法。


    通过 Context.openFileInput()方法获得标准Java文件输入流(FileInputStream),通过Context.openFileOutput()方法获得标准Java文件输出流( FileOutputStream )。使用

Resources.openRawResource(R.raw.myDataFile)方法返回InputStream。


示例如下,新建一个Activity,添加两个TextView和两个Button,点击第一个Button,将TextView上的数据写到文件中,点击第二个Button,将文件中的数据写到TextView中。


MainActivity.java:

public class MainActivity extends Activity {    private String filename = "file.txt";    private TextView mytext1,mytext2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mytext1=(TextView)this.findViewById(R.id.text1);        mytext2=(TextView)this.findViewById(R.id.text2);        Button button1=(Button)this.findViewById(R.id.btn_read);        Button button2=(Button)this.findViewById(R.id.btn_write);        button1.setOnClickListener(new OnClickListener(){            @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                mytext2.setText(read());            }        });        button2.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                write(mytext1.getText().toString());            }        });    }    protected String read(){        try {            FileInputStream fis = openFileInput(filename);            try {                byte[] buffer = new byte[fis.available()];                fis.read(buffer);                return new String(buffer);            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return null;    }    protected void write(String str) {        try {            FileOutputStream fos = openFileOutput(filename,MODE_APPEND);            try {                fos.write(str.getBytes());                fos.close();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}


activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>                        


运行结果如下:        点击write将第一个TextView写入文件,点击read将数据读出到第二个TextView

                    Android 数据存储(二) 文件的使用_第1张图片                                        Android 数据存储(二) 文件的使用_第2张图片


更多相关文章

  1. Android 数据保存
  2. android保存文件到手机内存
  3. 安卓布局文件中控件的各种属性的含义
  4. Android锁定横竖屏、splash,全屏、去除标题的方法-网摘
  5. Android中设置控件透明度的方法
  6. Android进程so注入Hook java方法
  7. 每周总结20130821——android控件的尺寸、http文件上传
  8. Android JNI使用方法

随机推荐

  1. WhaleCTF平台Android部分题解
  2. Android(安卓)ApiDemos示例解析(45):App->
  3. Android(安卓)Studio断点调试三(深入研究)
  4. 【Android】入门案例(一)——简单登录
  5. 了解Android(安卓)Studio jniLibs目录
  6. 详解Android提交数据到服务器的两种方式
  7. 自定义MediaPlayer控制组件
  8. Android(安卓)同时setTag两次保存多种值
  9. Kotlin For Android介绍
  10. 关于 Android(安卓)Drawable Resource学