Android中使用File文件进行数据存储


上一篇学到使用SharedPerences进行数据存储(),接下来学习一下使用File进行存储 我们有时候可以将数据直接以文件的形式保存在设备中,

例如:文本文件,图片文件等等

源码下载地址:

免费下载地址在 http://linux.bkjia.com/

用户名与密码都是www.bkjia.com

具体下载目录在 /2012年资料/1月/13日/Android中使用File文件进行数据存储/

使用File进行存储操作主要使用到以下的

①:public abstract FileInputStream openFileInput (String name)

这个主要是打开文件,返回FileInputStream

②:public abstract FileOutputStream openFileOutput (String name, int mode)

这个主要是写入文件,如果该文件不存在,直接进行创建,返回FileOutputStream

Mode(主要有以下的四种的模式)

MODE_APPEND  //在尾部追加
MODE_PRIVATE //私有
MODE_WORLD_READABLE //可读
MODE_WORLD_WRITEABLE //可写

③:FileInputStream(获取文件输入流)与FileOutputStream (获取文件输出流)这两类在JavaIO 操作中很常见

接下来进行操作 保存成功之后讲文件保存在当前应该程序的包名下的files/(可以改变存储的其他路径)



源代码如下:

[java]
  1. package com.jiangqq.file;  
  2.   
  3. import java.io.FileInputStream;  
  4. import java.io.FileOutputStream;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.view.View.OnClickListener;  
  10. import android.widget.Button;  
  11. import android.widget.EditText;  
  12. import android.widget.Toast;  
  13.   
  14. public class FileAcitivy extends Activity  
  15. {  
  16.     private Button bt1, bt2;  
  17.     private EditText et1, et2;  
  18.   
  19.     private static final String FILENAME = "temp_file.txt";  
  20.   
  21.     @Override  
  22.     public void onCreate(Bundle savedInstanceState) {  
  23.         super.onCreate(savedInstanceState);  
  24.         setContentView(R.layout.main);  
  25.         bt1 = (Button) this.findViewById(R.id.bt1);  
  26.         bt2 = (Button) this.findViewById(R.id.bt2);  
  27.         et1 = (EditText) this.findViewById(R.id.et1);  
  28.         et2 = (EditText) this.findViewById(R.id.et2);  
  29.         bt1.setOnClickListener(new OnClickListener() {  
  30.   
  31.             @Override  
  32.             public void onClick(View v) {  
  33.                 write(et1.getText().toString());  
  34.                 Toast.makeText(FileAcitivy.this"文件写入成功", Toast.LENGTH_LONG)  
  35.                         .show();  
  36.             }  
  37.         });  
  38.         bt2.setOnClickListener(new OnClickListener() {  
  39.   
  40.             @Override  
  41.             public void onClick(View v) {  
  42.                 et2.setText(read());  
  43.                 Toast.makeText(FileAcitivy.this"文件读出成功", Toast.LENGTH_LONG)  
  44.                         .show();  
  45.             }  
  46.         });  
  47.     }  
  48.   
  49.     // 读文件方法   
  50.     private String read() {  
  51.         try {  
  52.             FileInputStream inputStream = openFileInput(FILENAME);  
  53.             byte[] b = new byte[inputStream.available()];  
  54.             inputStream.read(b);  
  55.             return new String(b);  
  56.         } catch (Exception e) {  
  57.         }  
  58.         return null;  
  59.     }  
  60.   
  61.     // 写文件   
  62.     private void write(String content) {  
  63.         try {  
  64.             FileOutputStream fos = openFileOutput(FILENAME, MODE_APPEND);  
  65.             fos.write(content.getBytes());  
  66.             fos.close();  
  67.         } catch (Exception e) {  
  68.         }  
  69.     }  
  70. }  

相关内容