文件randomaccessfile主題知識講座_第1頁
文件randomaccessfile主題知識講座_第2頁
文件randomaccessfile主題知識講座_第3頁
文件randomaccessfile主題知識講座_第4頁
文件randomaccessfile主題知識講座_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

文件系統(tǒng)管理

RandomAccessFile

文件randomaccessfile主題知識講座第1頁

3Javajava.io.File

文件系統(tǒng)管理(pwdlsmkdirrm)1)File類用途:用于表示文件(目錄);只用于表示文件(目錄)

信息(名稱,大小等)不能對文件內(nèi)容進(jìn)行訪問

File代表文件系統(tǒng)中對文件/目錄管理操作(增刪改查,CRUD)文件randomaccessfile主題知識講座第2頁Filefile=newFile("."+File.separator+"tt.txt");

//假如文件不存在if(!file.exists()){file.createNewFile();//創(chuàng)建這個(gè)文件

} 文件randomaccessfile主題知識講座第3頁/在內(nèi)存中創(chuàng)建一個(gè)File對象,不代表在文件系統(tǒng)上創(chuàng)建目錄或文件

//newFile(dir,"demo")第一個(gè)參數(shù)父目錄Filedemo=newFile(dir,"demo");Filefile=newFile(demo,"file.dat");

文件randomaccessfile主題知識講座第4頁/***創(chuàng)建目錄*/Filedir=newFile("."+File.separator+"a"+File.separator+"b");if(!dir.exists()){

dir.mkdirs();//創(chuàng)建這個(gè)目錄

}

文件randomaccessfile主題知識講座第5頁 File(String) longlength() longlastModified() StringgetName() StringgetPath() booleanexists() booleandir.isFile()booleandelete()

//delete()方法若刪除是一個(gè)目錄,那么該目錄必須是空目錄!

文件randomaccessfile主題知識講座第6頁

File(String) longlength() longlastModified() StringgetName() StringgetPath() booleanexists() booleandir.isFile() StringgetCanonicalPath()StringgetPtah()文件randomaccessfile主題知識講座第7頁

3)回調(diào)模式和FileFilter(ls|greppatten) File[]listFile(FileFilter)文件randomaccessfile主題知識講座第8頁文件過濾器*作用:*使用FilelistFiles()方法時(shí),對返回內(nèi)容進(jìn)行過濾,只返回*我們感興趣文件或目錄文件randomaccessfile主題知識講座第9頁/***過濾方法*File會將其目錄下全部子項(xiàng)逐一調(diào)用accept方法將他們傳入,*若此項(xiàng)是我們需要,accept方法應(yīng)返回true,不然返回false.*返回false子項(xiàng)不會出現(xiàn)在FilelistFiles()方法返回值*中.*/文件randomaccessfile主題知識講座第10頁FileFilterff=newFileFilter(){publicbooleanaccept(Filesub){

returnsub.getName().endsWith(".txt");

}

};Filesub2[]=file.listFiles(ff);文件randomaccessfile主題知識講座第11頁操作文件內(nèi)容,訪問文件任意位置RandomAccessFile主題RandomAccessFile文件randomaccessfile主題知識講座第12頁NO.1RandomAccessFile1)Java文件模型,文件是bytebybyte是數(shù)據(jù)集合data:4142000000ffd6d0...index:012345678pointer:^文件randomaccessfile主題知識講座第13頁NO.1RandomAccessFile2)打開文件,有兩種模式"rw","r"Strings="raf.dat";

RandomAccessFileraf=newRandomAccessFile(file,"rw");打開文件時(shí)候默認(rèn)文件指針在開頭pointer=0文件randomaccessfile主題知識講座第14頁結(jié)構(gòu)方法:1publicRandomAccessFile(Stringname,Stringmode) throwsFileNotFoundException{this(name!=null?newFile(name):null,mode);}文件randomaccessfile主題知識講座第15頁2publicRandomAccessFile(Filefile,Stringmode)file-該文件對象mode-訪問模式包含4種:r"以只讀方式打開。調(diào)用結(jié)果對象任何write方法都將造成拋出IOException。"rw"打開方便讀取和寫入。假如該文件尚不存在,則嘗試創(chuàng)建該文件。"rws"打開方便讀取和寫入,對于"rw",還要求對文件內(nèi)容或元數(shù)據(jù)每個(gè)更新都同時(shí)寫入到底層存放設(shè)備。"rwd"打開方便讀取和寫入,對于"rw",還要求對文件內(nèi)容每個(gè)更新都同時(shí)寫入到底層存放設(shè)備。文件randomaccessfile主題知識講座第16頁NO.1RandomAccessFile3)寫入方法:raf.write(int)將整數(shù)"低八位"寫入到文件中,指針自動移動到下一個(gè)位置,準(zhǔn)備再次寫入*文件名擴(kuò)展名要明確指定,沒有默認(rèn)擴(kuò)展名現(xiàn)象!

文件randomaccessfile主題知識講座第17頁NO.1RandomAccessFile3)寫入方法:raf.write(int)將整數(shù)"低八位"寫入到文件中,指針自動移動到下一個(gè)位置,準(zhǔn)備再次寫入*文件名擴(kuò)展名要明確指定,沒有默認(rèn)擴(kuò)展名現(xiàn)象!

文件randomaccessfile主題知識講座第18頁NO.1RandomAccessFile4)讀取文件

intb=raf.read()

從文件中讀取一個(gè)byte(8位)填充到int低八位,高24位為0,返回值范圍正數(shù):0~255,假如返回-1表示讀取到了文件末尾!每次讀取后自動移動文件指針,準(zhǔn)備下次讀取.

*intread(byte[]buf):*嘗試一次性讀取給定數(shù)組長度字節(jié)數(shù),并存*入該數(shù)組,但實(shí)際讀取字節(jié)數(shù)要以是否到達(dá)文件*末尾為準(zhǔn).*返回值為:總共讀取字節(jié)數(shù),若為-1代表EOF

文件randomaccessfile主題知識講座第19頁例子1:RAFReadDemo.java1)類型方法名(參數(shù))1voidseek(longpos)設(shè)置到此文件開頭測量到文件指針偏移量,在該位置發(fā)生下一個(gè)讀取或?qū)懭氩僮鳌?/p>

2

byte[]getBytes(StringcharsetName)使用指定字符集將此String編碼為byte序列,并將結(jié)果存放到一個(gè)新byte數(shù)組中。文件randomaccessfile主題知識講座第20頁NO.1RandomAccessFile5)文件讀寫完成以后一定關(guān)閉文件用close()方法關(guān)閉此隨機(jī)訪問文件流并釋放與該流關(guān)聯(lián)全部系統(tǒng)資源。文件randomaccessfile主題知識講座第21頁raf.write('A')文件randomaccessfile主題知識講座第22頁/***java1

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論