版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
File實(shí)現(xiàn)數(shù)據(jù)存儲一、File文件存儲21.什么是file文件存儲?關(guān)于Android的File存儲,這里先說下Java中的File類,根據(jù)面向?qū)ο蟮乃枷耄琂ava中對文件的操作也進(jìn)行了對象的封裝,這個(gè)操作文件的類就是File類,F(xiàn)ile提供了豐富的api來進(jìn)行文件的操作,比如常見的createNewFile(),mkdir(),mkdirs(),isFile(),isDictory(),renameto(),delete(),getName(),getPath()....方法比較多,可以自行通過api文檔查看,同樣這一套的文件操作在Android中也適用。一、File文件存儲3/***這里通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新File實(shí)例。*然后執(zhí)行file.createNewFile();如果該文件存在,則創(chuàng)建失敗,不存在則創(chuàng)建,返回一個(gè)boolean值*/
Filefile=newFile(Stringpathname);
/***這里根據(jù)parent抽象路徑名和child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。*執(zhí)行file.createNewFile();如果parent抽象路徑名不存在,或者文件已經(jīng)創(chuàng)建過,依然不能創(chuàng)建成功。*/
Filefile=newFile(Fileparent,Stringchild);
/***根據(jù)parent路徑名字符串和child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。*執(zhí)行file.createNewFile();如果parent抽象路徑名不存在,或者文件已經(jīng)創(chuàng)建過,依然不能創(chuàng)建成功。*/Filefile=newFile(Stringparentpath,Stringchild);
常用的api二、File文件存儲4createNewFile();如果文件已經(jīng)存在,則創(chuàng)建失敗,否則成功創(chuàng)建,還有其他可能mkdir();創(chuàng)建文件夾,注意:如果創(chuàng)建目標(biāo)文件夾的父級目錄不存在,就會創(chuàng)建失敗mkdirs();創(chuàng)建多級目錄,父級文件目錄不存在的話,會自動創(chuàng)建父級目錄。isFile();判斷是否是一個(gè)文件isDictory();判斷是否是一個(gè)文件夾delete();刪除文件或者文件夾,注意要是刪除文件夾的時(shí)候,文件夾里還有文件或者文件夾,則不能刪除,意思是只能刪除一個(gè)空文件夾。exists();判斷文件或者文件夾是否存在getName();獲取文件或者文件夾的名稱getPath();獲取相對路徑getAbsolutePath();獲取絕對路徑length();獲取文件或者文件夾的長度File常用方法二、實(shí)現(xiàn)案例5Activity_main頁面代碼<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="請輸入需要存儲的文本:"/>
<EditText
android:id="@+id/save"
android:layout_width="match_parent"
android:layout_height="150dp"/>
<Button
android:id="@+id/btn_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="文本存儲"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="讀取存儲文本的內(nèi)容:"/>
<EditText
android:id="@+id/read"
android:layout_width="match_parent"
android:layout_height="150dp"/>
</LinearLayout>
二、實(shí)現(xiàn)案例6publicclassMainActivityextendsAppCompatActivity{
privateEditTextsave;
privateEditTextread;
privateButtonbtn_save;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
click();
}
//頁面初始化
publicvoidinit(){
save=(EditText)findViewById(R.id.save);
read=(EditText)findViewById(R.id.read);
btn_save=(Button)findViewById(R.id.btn_save);
}
//點(diǎn)擊事件
publicvoidclick(){
btn_save.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewview){
save("aa",save.getText().toString());
Stringa=read("aa");
read.setText(a);
}
});
}MainActivity.java頁面代碼二、實(shí)現(xiàn)案例7/*
*定義文件保存的方法,寫入到文件中,所以是輸出流
**/
publicstaticvoidsave(StringfileName,Stringcontent){
FileOutputStreamfos=null;
try{
/*判斷sd的外部設(shè)置狀態(tài)是否可以讀寫*/
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
Filefile=newFile(Environment.getExternalStorageDirectory(),fileName+".txt");
//先清空內(nèi)容再寫入
fos=newFileOutputStream(file);
byte[]buffer=content.getBytes();
fos.write(buffer);
fos.close();
}
}catch(Exceptionex){
ex.printStackTrace();
try{
if(fos!=null){
fos.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
}二、實(shí)現(xiàn)案例8
//文件讀取
publicstaticStringread(StringfileName){
FileInputStreamfis=null;
Stringresult=null;
try{
Filefile=newFile(Environment.getExternalStorageDirectory(),fileName+".txt");
fis=newFileInputStream(file);
byte[]buffer=newbyte[fis.available()];
fis.read(buffer);
fis.close();
result=newString(buffer,"UTF-8");
}catch(Exceptionex){
ex.printStackTrace();
try{
if(fis!=null){
fis.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
returnresult;
}
}二、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版文化娛樂中心VIP會員儲值卡銷售與活動優(yōu)惠合同3篇
- 生草對山地蘋果園土壤質(zhì)量提升及樹體發(fā)育效應(yīng)研究
- 二零二五版國際招投標(biāo)合同范例2篇
- 二零二四年個(gè)人知識產(chǎn)權(quán)抵押貸款服務(wù)合同6篇
- 二零二五版上市公司間資金周轉(zhuǎn)互助合同范本3篇
- 煤礦井下巷道巡檢機(jī)器人的路徑規(guī)劃與導(dǎo)航研究
- S石膏板制造企業(yè)綠色稅務(wù)會計(jì)核算研究
- 2025年度航空航天遙感產(chǎn)品委托設(shè)計(jì)合同4篇
- 二零二五年度貨物買賣合同中不可抗力條款應(yīng)用指南3篇
- 2025年度特色小吃街商業(yè)租賃合同3篇
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2025年浙江杭州市西湖區(qū)專職社區(qū)招聘85人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《數(shù)學(xué)廣角-優(yōu)化》說課稿-2024-2025學(xué)年四年級上冊數(shù)學(xué)人教版
- “懂你”(原題+解題+范文+話題+技巧+閱讀類素材)-2025年中考語文一輪復(fù)習(xí)之寫作
- 2025年景觀照明項(xiàng)目可行性分析報(bào)告
- 2025年江蘇南京地鐵集團(tuán)招聘筆試參考題庫含答案解析
- 2025年度愛讀書學(xué)長參與的讀書項(xiàng)目投資合同
- 電力系統(tǒng)分析答案(吳俊勇)(已修訂)
- 化學(xué)-河北省金太陽質(zhì)檢聯(lián)盟2024-2025學(xué)年高三上學(xué)期12月第三次聯(lián)考試題和答案
- 期末復(fù)習(xí)試題(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué) 北師大版
評論
0/150
提交評論