Android手機(jī)內(nèi)存中文件的讀寫方法小結(jié)
本文實(shí)例總結(jié)了Android手機(jī)內(nèi)存中文件的讀寫方法。分享給大家供大家參考。具體分析如下:
如何對手機(jī)內(nèi)存中的文件數(shù)據(jù)進(jìn)行讀寫呢?
Context提供了領(lǐng)個方法來打開該應(yīng)用程序的數(shù)據(jù)文件夾中的文件I/O流,具體如下:
FileInputStream openFileInput(String name)
打開應(yīng)用程序的數(shù)據(jù)文件夾下的name文件對應(yīng)的數(shù)據(jù)流
FileOutputSream openFileOutput(String name, int mode)
打開應(yīng)用程序數(shù)據(jù)文件夾下的name文件對應(yīng)的輸出流,mode指定文件打開的模式,該模式主要有一下4種:
①M(fèi)ODE_PRIVATE(該文件只能被當(dāng)前應(yīng)用程序讀寫)
②MODE_APPEND(以追加方式打開,可以在文件中追加內(nèi)容)
③MODE_WORLD_READABLE(該文件內(nèi)容可以被其他應(yīng)用程序讀取)
④MODE_WORLD_WRITEABLE(該文件內(nèi)容可以被其他應(yīng)用程序度,寫)
讀取文件:
假設(shè)name為要打開的文件名字
FileInputStream f = openFileInput(name); byte[] buf = new byte[1024]; int hasRead = 0; StringBuilder sb = new StringBuilder(""); while((hasRead = f.read(buf)>0)) { sb.append(new String(buf, 0 , hasRead)); } f.close();
獲取文件內(nèi)容字符串:
sb.toString();
寫文件:
假設(shè)要寫入的字符串為content
FileOutputStream f = openFileOutput(name,MODE_APPEND); PrintStream temp = new PrintStream(f); temp.println(content); temp.close();
注:應(yīng)用程序的數(shù)據(jù)文件默認(rèn)保存在/data/datea<package name>/files目錄下,使用openFileInput和openFileOutput方法來打開文件輸入流,輸出流時,打開的都是應(yīng)用程序的數(shù)據(jù)文件夾里的文件,也就是說是在手機(jī)內(nèi)存中的文件,而不是SD卡中的文件。
希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android之ListView分頁加載數(shù)據(jù)功能實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Android之ListView分頁加載數(shù)據(jù)功能實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08Android中ListView結(jié)合CheckBox實(shí)現(xiàn)數(shù)據(jù)批量選擇(全選、反選、全不選)
這篇文章主要介紹了Android編程中ListView結(jié)合CheckBox實(shí)現(xiàn)批量選擇,包括實(shí)現(xiàn)全選、反選、全不選等操作,感興趣的小伙伴們可以參考一下2016-01-01Android中的RecyclerView新組件初步上手指南
RecyclerView是Android L版本開始采用的一個組件,被人們認(rèn)為用來代替?zhèn)鹘y(tǒng)的ListView,下面我們就一起來看一下Android中的RecyclerView新組件初步上手指南2016-06-06Android開發(fā)實(shí)現(xiàn)的ViewPager引導(dǎo)頁功能(動態(tài)加載指示器)詳解
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的ViewPager引導(dǎo)頁功能(動態(tài)加載指示器),結(jié)合實(shí)例形式詳細(xì)分析了Android使用ViewPager引導(dǎo)頁的具體步驟,相關(guān)布局、功能使用技巧,需要的朋友可以參考下2017-11-11Android創(chuàng)建外部lib庫及自定義View的圖文教程
這篇文章主要給大家介紹了關(guān)于Android創(chuàng)建外部lib庫及自定義View的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11Android webview與js的數(shù)據(jù)交互
有了WebView這個組件,Android應(yīng)用開發(fā)技術(shù)也就轉(zhuǎn)嫁到html與java數(shù)據(jù)交互上來。說白了就是js與WebView的數(shù)據(jù)交互,這就是本文所要討論的2017-04-04Jetpack?Compose對比React?Hooks?API相似度
這篇文章主要為大家介紹了Jetpack?Compose對比React?Hooks?API相似度,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08如何使用Flutter實(shí)現(xiàn)58同城中的加載動畫詳解
這篇文章主要給大家介紹了關(guān)于如何使用Flutter實(shí)現(xiàn)58同城中加載動畫詳?shù)南嚓P(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Flutter 實(shí)現(xiàn)下拉刷新上拉加載的示例代碼
這篇文章主要介紹了Flutter 實(shí)現(xiàn)下拉刷新上拉加載的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12