Android数据存储之文件I/O


Android平台下的数据存储主要包括文件的流读取,轻量级数据库SQLite,ContentProvider和Preference

当App被安装后.其所在的安装包中会有一个相应的文件夹用于存放自己的数据.只有应用程序自己本身才对这个文件夹有写入权限,路径是/data/data/APP包名/.下面是使用文件I/O方法直接往手机中存储数据.主要使用了FileInputStream和FileOutputStream这个两个类.

更多Android源码下载

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

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

具体下载目录在 /pub/Android源码集锦/

  1. public class UIDataActivity extends Activity {  
  2.       
  3.     public static final String ENCODING = "UTF-8";  
  4.     String fileName="test.txt";  
  5.     String message = "Android数据存储I/O例子 ";  
  6.     TextView textView;  
  7.       
  8.       
  9.     /** Called when the activity is first created. */  
  10.     @Override  
  11.     public void onCreate(Bundle savedInstanceState) {  
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.main);  
  14.           
  15.         /* 
  16.          * 本示例是应用程序在私有数据文件夹下创建一个文件并读取其中的数据显示在TextView上 
  17.          */  
  18.           
  19.         writeFileData(fileName,message);  
  20.           
  21.         String result = readFileData(fileName);  
  22.           
  23.         textView = (TextView)findViewById(R.id.tv);  
  24.         textView.setText(result);  
  25.     }  
  26.       
  27.     public void writeFileData(String fileName,String message){  
  28.         //使用FileOutputStream对象如果文件不存在或者不可以写入时.会抛出FileNotFoundException异常   
  29.         try {  
  30.             FileOutputStream stream = openFileOutput(fileName, MODE_PRIVATE);  
  31.             byte[] bytes = message.getBytes();  
  32.             stream.write(bytes);  
  33.             stream.close();  
  34.         } catch (FileNotFoundException e) {  
  35.             // TODO Auto-generated catch block   
  36.             e.printStackTrace();  
  37.         } catch (IOException e) {  
  38.             // TODO Auto-generated catch block   
  39.             e.printStackTrace();  
  40.         }  
  41.     }  
  42.       
  43.     public String readFileData(String fileName){  
  44.         String result ="";  
  45.         try {  
  46.             FileInputStream stream = openFileInput(fileName);  
  47.             int len = stream.available();  
  48.             byte[] bytes = new byte[len];  
  49.             stream.read(bytes);  
  50.             result = EncodingUtils.getString(bytes, ENCODING);  
  51.             stream.close();  
  52.         } catch (FileNotFoundException e) {  
  53.             // TODO Auto-generated catch block   
  54.             e.printStackTrace();  
  55.         } catch (IOException e) {  
  56.             // TODO Auto-generated catch block   
  57.             e.printStackTrace();  
  58.         }  
  59.         return result;  
  60.     }  
  61. }  

FileOutputStream第二个参数常数系统提供五种.

更多关于Context对象API操作点这

  • 1
  • 2
  • 下一页

相关内容