国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android數據持久化之I/O操作詳解

2019-10-23 18:29:50
字體:
來源:轉載
供稿:網友

本文實例講述了Android數據持久化之I/O操作。分享給大家供大家參考,具體如下:

前面文章里我們簡單的介紹了File的操作,這一節來說說使用android平臺自帶對象實現文件的基本操作

主要的兩個類:openFileOutput(寫)和openFileInput(讀)

向文件中寫如數據代碼如下:

//向文件寫入內容try {  OutputStream os = openFileOutput("file-io.txt", Context.MODE_PRIVATE);  String str = "向文件中寫入數據";  os.write(str.getBytes("utf-8"));  os.close();} catch (Exception e) {  // TODO Auto-generated catch block  e.printStackTrace();}

讀取文中的代碼如下:

//讀取文件中的內容try {  InputStream is = openFileInput("file-io.txt");  byte[] buffer = new byte[100];  int byteLength = is.read(buffer);  String str2 = new String(buffer, 0, byteLength, "utf-8");  text.setText(str2.toString());  is.close();} catch (Exception e) {  // TODO Auto-generated catch block  e.printStackTrace();}

從上面的代碼中可以看出:openFileOutput / openFileInput 的用法與之前的SharedPreferences 的用法有很大的相似性,下面簡單說一下兩者的異同:

SharedPreferences對象的創建:

SharedPreferences sp = getSharedPreferences("file",Contex.MODE_PRIVATE);

getSharedPreferences方法的第一個參數是指定要保存在手機內存中的文件名(不包括擴展名,擴展名為xml),第二個參數是表示SharedPreferences對象在創建XML文件時設置的文件屬性;

Context.MODE_PRIVATE = 0 (默認),代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容

Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2

openFileOutput 方法是如何返回一個OutputStream對象的:

OutputStream os = openFileOutput("file.xml",Contex.MODE_PRIVATE);

openFileOutput 的第一個參數指定的文件名帶有擴展名,第二個參數與getSharedPreferences的是一樣的;從這兩個方法來看,第一個參數只制定了文件名,并未包含文件的路徑,因此,這兩個方法只能將文件保存在手機的內存中固定的路徑,對于大文件可能內存不夠:

SharedPreferences 將XML 文件保存在:/data/data/<包名>/shared_prefs

openFileOutput 將文件保存在:/data/data/<包名>/files

Activity還提供了getCacheDir()和getFilesDir()方法:

getCacheDir()方法用于獲取:/data/data/<package name>/cache 目錄

getFilesDir()方法用于獲取:/data/data/<package name>/files 目錄。

 

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景东| 额济纳旗| 延安市| 津市市| 沭阳县| 迁安市| 房山区| 睢宁县| 蒙阴县| 郎溪县| 唐海县| 扬中市| 崇左市| 北川| 东阳市| 泌阳县| 蕉岭县| 贵州省| 镇原县| 河北区| 云浮市| 临邑县| 应用必备| 鞍山市| 福清市| 宜良县| 兴安县| 通城县| 莱西市| 景泰县| 安顺市| 松江区| 清河县| 博罗县| 观塘区| 抚州市| 东明县| 小金县| 板桥市| 新竹县| 胶州市|