版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
File實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)一、File文件存儲(chǔ)21.什么是file文件存儲(chǔ)?關(guān)于Android的File存儲(chǔ),這里先說(shuō)下Java中的File類,根據(jù)面向?qū)ο蟮乃枷耄琂ava中對(duì)文件的操作也進(jìn)行了對(duì)象的封裝,這個(gè)操作文件的類就是File類,F(xiàn)ile提供了豐富的api來(lái)進(jìn)行文件的操作,比如常見的createNewFile(),mkdir(),mkdirs(),isFile(),isDictory(),renameto(),delete(),getName(),getPath()....方法比較多,可以自行通過(guò)api文檔查看,同樣這一套的文件操作在Android中也適用。一、File文件存儲(chǔ)3/***這里通過(guò)將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來(lái)創(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)建過(guò),依然不能創(chuàng)建成功。*/
Filefile=newFile(Fileparent,Stringchild);
/***根據(jù)parent路徑名字符串和child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。*執(zhí)行file.createNewFile();如果parent抽象路徑名不存在,或者文件已經(jīng)創(chuàng)建過(guò),依然不能創(chuàng)建成功。*/Filefile=newFile(Stringparentpath,Stringchild);
常用的api二、File文件存儲(chǔ)4createNewFile();如果文件已經(jīng)存在,則創(chuàng)建失敗,否則成功創(chuàng)建,還有其他可能mkdir();創(chuàng)建文件夾,注意:如果創(chuàng)建目標(biāo)文件夾的父級(jí)目錄不存在,就會(huì)創(chuàng)建失敗mkdirs();創(chuàng)建多級(jí)目錄,父級(jí)文件目錄不存在的話,會(huì)自動(dòng)創(chuàng)建父級(jí)目錄。isFile();判斷是否是一個(gè)文件isDictory();判斷是否是一個(gè)文件夾delete();刪除文件或者文件夾,注意要是刪除文件夾的時(shí)候,文件夾里還有文件或者文件夾,則不能刪除,意思是只能刪除一個(gè)空文件夾。exists();判斷文件或者文件夾是否存在getName();獲取文件或者文件夾的名稱getPath();獲取相對(duì)路徑getAbsolutePath();獲取絕對(duì)路徑length();獲取文件或者文件夾的長(zhǎng)度File常用方法二、實(shí)現(xiàn)案例5Activity_main頁(yè)面代碼<?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="請(qǐng)輸入需要存儲(chǔ)的文本:"/>
<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="文本存儲(chǔ)"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="讀取存儲(chǔ)文本的內(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();
}
//頁(yè)面初始化
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頁(yè)面代碼二、實(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ifix培訓(xùn)教程教學(xué)課件
- 科技2025研發(fā)合作合同協(xié)議
- 腸炎病人的考試題及答案
- 現(xiàn)代教育考試題及答案
- 2025-2026人教版初中九年級(jí)語(yǔ)文期末復(fù)習(xí)卷
- 2025-2026七年級(jí)美術(shù)期末考試卷
- 鄉(xiāng)衛(wèi)生院月例會(huì)制度
- 民宿衛(wèi)生間管理制度
- 衛(wèi)生部檢查工作制度
- 足道館衛(wèi)生管理制度
- 2026中國(guó)電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 南瑞9622型6kV變壓器差動(dòng)保護(hù)原理及現(xiàn)場(chǎng)校驗(yàn)實(shí)例培訓(xùn)課件
- 統(tǒng)編版(2024)七年級(jí)上冊(cè)道德與法治期末復(fù)習(xí)必背知識(shí)點(diǎn)考點(diǎn)清單
- 2026年春節(jié)放假前員工安全培訓(xùn)
- (2025版)成人肺功能檢查技術(shù)進(jìn)展及臨床應(yīng)用指南解讀課件
- 《春秋》講解課件
- 青少年抑郁障礙的護(hù)理與康復(fù)訓(xùn)練
- 農(nóng)業(yè)養(yǎng)殖認(rèn)養(yǎng)協(xié)議書
- T-CAPC 019-2025 零售藥店常見輕微病癥健康管理規(guī)范
- 康定情歌音樂(lè)鑒賞
- 2025年四川省解除(終止)勞動(dòng)合同證明書模板
評(píng)論
0/150
提交評(píng)論