本文實(shí)例講述了Android數(shù)據(jù)持久化之File機(jī)制。分享給大家供大家參考,具體如下:
在使用Java SE平臺(tái)開發(fā)C/S結(jié)構(gòu)的軟件中,F(xiàn)ile 的IO輸入輸出流的使用率是非常高的,通過使用IO輸入輸出流可以對(duì)存儲(chǔ)介質(zhì)上的文件進(jìn)行讀寫操作,下面的代碼就是實(shí)現(xiàn)一個(gè)在Android平臺(tái)上使用File對(duì)象操作文件的功能:
package com.example.data_file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.util.Log; import android.view.Menu; @SuppressLint("SdCardPath") public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { File file = new File("/data/data/com.example.data_file/file.txt"); Log.v("path=", file.getAbsolutePath()); file.createNewFile(); FileOutputStream fos = new FileOutputStream(file); fos.write("烏拉啦啦啦".getBytes()); fos.close(); FileInputStream fis = new FileInputStream(file); InputStreamReader isReader = new InputStreamReader(fis); char[] charArray = new char[2]; int readLength = isReader.read(charArray); StringBuffer sb = new StringBuffer(); while(readLength != -1) { sb.append(charArray, 0, readLength); readLength = isReader.read(charArray); } Log.v("file.txt文件內(nèi)容是:", sb.toString()); fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }