歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中使用File文件進行數據存儲

上一篇學到使用SharedPerences進行數據存儲(http://www.linuxidc.com/Linux/2012-01/51442.htm),接下來學習一下使用File進行存儲 我們有時候可以將數據直接以文件的形式保存在設備中,

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

源碼下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.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. }  

Copyright © Linux教程網 All Rights Reserved