您好,登錄后才能下訂單哦!
本文實例講述了Android數據持久化之File機制。分享給大家供大家參考,具體如下:
在使用Java SE平臺開發C/S結構的軟件中,File 的IO輸入輸出流的使用率是非常高的,通過使用IO輸入輸出流可以對存儲介質上的文件進行讀寫操作,下面的代碼就是實現一個在Android平臺上使用File對象操作文件的功能:
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文件內容是:", 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; } }
注意:Linux系統下對權限的要求比較高,不允許隨便存儲文件,所以存儲文件的路徑為:/data/data/<包名>/Files/<文件名>
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android數據庫操作技巧總結》、《Android編程之activity操作技巧總結》、《Android編程開發之SD卡操作方法匯總》、《Android開發入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。