存取資料 part2 (FileOutputStream & FileInputStream)


FileOutputStream 和 FileInputStream 是位於 java.io 的套件中,屬於 java 本身的 io 方法,使用這種方式儲存的資料無法提供給別的應用程式,而且當應用程式移除後資料也會隨之消失,範例如下

寫入資料

   1:          try {
   2:                  file = new File("test_file");
   3:              
   4:                  FileOutputStream fos = openFileOutput(file.getPath(), Context.MODE_PRIVATE);
   5:                  String tempstr = "abc";
   6:                  int tempint = 123;
   7:                  float tempfloat = 0.88f;
   8:                  
   9:                  fos.write(tempstr.getBytes());
  10:                  fos.write(String.valueOf(tempint).getBytes());
  11:                  fos.write(String.valueOf(tempfloat).getBytes());
  12:                  
  13:                  fos.close();
  14:              } catch (FileNotFoundException e) {
  15:                  // TODO Auto-generated catch block
  16:                  e.printStackTrace();
  17:              } catch (IOException e) {
  18:                  // TODO Auto-generated catch block
  19:                  e.printStackTrace();
  20:              }


第 2 行設定檔名
第 4 行建立 FileOutputStream 物件
第 5 ~ 7 行要寫入的資料
第 9 ~ 11 行寫入資料
第 13 行關閉 FileOutputStream 物件

這樣就完成寫入的動作,在手機內部會產生 test_file 檔案


讀取資料

   1:          try {
   2:              FileInputStream fis = openFileInput(file.getPath());
   3:              
   4:              int temp;
   5:              
   6:              while((temp = fis.read()) !=-1){
   7:                  FP.p(String.valueOf(((char)temp)));
   8:              }
   9:              
  10:              fis.close();
  11:              
  12:          } catch (FileNotFoundException e) {
  13:              // TODO Auto-generated catch block
  14:              e.printStackTrace();
  15:          } catch (IOException e) {
  16:              // TODO Auto-generated catch block
  17:              e.printStackTrace();
  18:          }


第 2 行建立 FileInputStream 物件, file.getPath() 為檔名
第 4 行用來暫存資料
第 6 行讀取檔案
第 10 行關閉 FileInputStream 物件






0 意見:

張貼留言

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews