Android數(shù)據(jù)持久化之File機(jī)制分析
本文實(shí)例講述了Android數(shù)據(jù)持久化之File機(jī)制。分享給大家供大家參考,具體如下:
在使用Java SE平臺開發(fā)C/S結(jié)構(gòu)的軟件中,F(xiàn)ile 的IO輸入輸出流的使用率是非常高的,通過使用IO輸入輸出流可以對存儲介質(zhì)上的文件進(jìn)行讀寫操作,下面的代碼就是實(shí)現(xiàn)一個在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文件內(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; } }
注意:Linux系統(tǒng)下對權(quán)限的要求比較高,不允許隨便存儲文件,所以存儲文件的路徑為:/data/data/<包名>/Files/<文件名>
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android startActivityForResult實(shí)例詳解
- Android在Fragment中實(shí)現(xiàn)監(jiān)聽觸摸事件
- Android 使用FragmentTabhost代替Tabhost
- Android數(shù)據(jù)持久化之Preferences機(jī)制詳解
- Android 如何本地加載pdf文件
- Android利用FlexboxLayout輕松實(shí)現(xiàn)流動布局
- android手機(jī)端與PC端使用adb forword通信
- Android 中SwipeRefreshLayout與ViewPager滑動事件沖突解決方法
- Android 7.0行為變更 FileUriExposedException解決方法
相關(guān)文章
Android?MaterialAlertDialogBuilder修改按鈕屬性
這篇文章主要介紹了Android?MaterialAlertDialogBuilder修改按鈕屬性實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android拼接實(shí)現(xiàn)動態(tài)對象方法詳解
這篇文章主要為大家介紹了Android拼接實(shí)現(xiàn)動態(tài)對象方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Android視頻點(diǎn)播的實(shí)現(xiàn)代碼(邊播邊緩存)
本篇文章主要結(jié)合了Android視頻點(diǎn)播的實(shí)現(xiàn)代碼(邊播邊緩存),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Android基礎(chǔ)控件(EditView、SeekBar等)的使用方法
這篇文章主要介紹了Android基礎(chǔ)控件的屬性及使用方法,介紹了基礎(chǔ)控件有TextView、ImageView、Button、EditView等,感興趣的小伙伴們可以參考一下2016-03-03android studio logcat 無篩選 顯示全部日志 無應(yīng)用包名區(qū)分方式
這篇文章主要介紹了android studio logcat 無篩選 顯示全部日志 無應(yīng)用包名區(qū)分方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04ScrollView與ListView合用(正確計算Listview的高度)的問題解決
最近做項目中用到ScrollView和ListView一起使用的問題,顯示的時候ListView不能完全正確的顯示,查了好多資料終于成功解決:2013-05-05