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