IO流(操作文件內(nèi)容): 字節(jié)流
創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為調(diào)兵山企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),調(diào)兵山網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
參考:
AssetManager
assets 文件夾用于存儲(chǔ)應(yīng)用需要的文件,在安裝后可直接從其中讀取使用或者寫入本地存儲(chǔ)中
Android Studio 默認(rèn)不建立該文件夾,可以手動(dòng)新建 : app - src - main - assets
或者,右鍵 main - New - Folder - Assets Folder
AssetManager 對(duì)象可以直接訪問該文件夾:
獲取方法:
使用函數(shù) open 可以打開 assets 文件夾中對(duì)象,返回一個(gè) InputStream 對(duì)象:
open
獲取方法:
[img]在android中的文件放在不同位置,它們的讀取方式也有一些不同。
本文對(duì)android中對(duì)資源文件的讀取、數(shù)據(jù)區(qū)文件的讀取、SD卡文件的讀取及RandomAccessFile的方式和方法進(jìn)行了整理。供參考。
!--往sdcard中寫入數(shù)據(jù)的權(quán)限 --uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/uses-permission!--在sdcard中創(chuàng)建/刪除文件的權(quán)限 --uses-permission android:name="android.permission.MOUNT_U
android中的apk必須簽名
這種簽名不是基于權(quán)威證書的,不會(huì)決定某個(gè)應(yīng)用允不允許安裝,而是一種自簽名證書。
重要的是,android系統(tǒng)有的權(quán)限是基于簽名的。比如:system等級(jí)的權(quán)限有專門對(duì)應(yīng)的簽名,簽名不對(duì),權(quán)限也就獲取不到。默認(rèn)生成的APK文件是debug簽名的。
獲取system權(quán)限時(shí)用到的簽名,見:如何使Android應(yīng)用程序獲取系統(tǒng)權(quán)限?;赨serID的進(jìn)程級(jí)別的安全機(jī)。這種簽名不是基于權(quán)威證書的,不會(huì)決定某個(gè)應(yīng)用允不允許安裝,而是一種自簽名證書。重要的是,android系統(tǒng)有的權(quán)限是基于簽名的。
!--往sdcard中寫入數(shù)據(jù)的權(quán)限 --uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/uses-permission!--在sdcard中創(chuàng)建/刪除文件的權(quán)限 --uses-permission android:name="android.permission.MOUNT_U
android中的apk必須簽名
這種簽名不是基于權(quán)威證書的,不會(huì)決定某個(gè)應(yīng)用允不允許安裝,而是一種自簽名證書。
重要的是,android系統(tǒng)有的權(quán)限是基于簽名的。比如:system等級(jí)的權(quán)限有專門對(duì)應(yīng)的簽名,簽名不對(duì),權(quán)限也就獲取不到。默認(rèn)生成的APK文件是debug簽名的。
獲取system權(quán)限時(shí)用到的簽名,見:如何使Android應(yīng)用程序獲取系統(tǒng)權(quán)限?;赨serID的進(jìn)程級(jí)別的安全機(jī)。這種簽名不是基于權(quán)威證書的,不會(huì)決定某個(gè)應(yīng)用允不允許安裝,而是一種自簽名證書。重要的是,android系統(tǒng)有的權(quán)限是基于簽名的。
1、通過File獲取文件
2、打開輸入流,讀取文件
寫文件:
1、創(chuàng)建文件
2、打開輸出流,寫入文件內(nèi)容
示例:
12345678910111213
讀文件:String content = ""; //文件內(nèi)容字符串 //通過路徑/sdcard/foo.txt打開文件 File file = new File("/sdcard/foo.txt"); try { InputStream instream = new FileInputStream(file);//讀取輸入流 InputStreamReader inputreader = new InputStreamReader(instream);//設(shè)置流讀取方式 BufferedReader buffreader = new BufferedReader(inputreader); while (( line = buffreader.readLine()) != null) { content += line + "\n";//讀取的文件內(nèi)容 } }catch(Exception ex){ }
寫文件: File file = new File("/sdcard/foo.txt");// if(!file.exists()) file.createNewFile();//如果文件不存在,創(chuàng)建foo.txt try { OutputStream outstream = new FileOutputStream(file);//設(shè)置輸出流 OutputStreamWriter out = new OutputStreamWriter(outstream);//設(shè)置內(nèi)容輸出方式 out.write("文字內(nèi)容");//輸出內(nèi)容到文件中 out.close(); } catch (java.io.IOException e) { e.printStackTrace(); }