在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

                                                            


更多相关文章

  1. Unity与Android交互
  2. android保存文件到手机内存
  3. Android(安卓)数据保存
  4. Android(安卓)获取SHA1和SHA256的值
  5. 【Android每周专题】触摸屏手势
  6. Android(安卓)TextView 中如何使用第三方字体
  7. 短视频直播源码Android关于分屏的知识总结
  8. Android项目运行提示
  9. 安卓布局文件中控件的各种属性的含义

随机推荐

  1. 安卓布局之线性布局(Linearlayout)
  2. Android EditText取消自动焦点获取
  3. 【Android】Android Layout Binder——根
  4. android 绘图
  5. PreferenceActivity、PreferenceFragment
  6. Python on Android
  7. Android关闭多个activity
  8. Android中文API —— VideoView
  9. android studio 3.1 Android Device Moni
  10. JS调用Java代码(Android)