您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在Java中利用File對文件進(jìn)行操作,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
1.1java.io.File
File用于表示文件系統(tǒng)中的一個文件或目錄
通過File可以:
1:訪問該文件或目錄的屬性信息(名字,大小,修改時間等)
file.getName();獲取文件名
file.length();獲取文件長度
file.lastModified();獲取文件最后一次修改時間
file.canWrite();是否可寫
file.canRead();是否可讀
file.isHidden();是否隱藏
2:操作文件或目錄(創(chuàng)建,刪除)
使用File創(chuàng)建一個新文件
File file = new File("text.txt");//在當(dāng)前目錄下創(chuàng)建文件:test.txt不寫路徑默認(rèn)就是當(dāng)前目錄
file.exists(); boolean exists()//判斷當(dāng)前File表示的文件或目錄是否已經(jīng)存在
使用File刪除一個文件
File file = new File("text.txt");
file.delete();//如果有這個文件去刪除,應(yīng)當(dāng)加exists()判斷
使用File創(chuàng)建一個目錄mkdir();可以將全部路徑寫進(jìn)入創(chuàng)建多級目錄。
使用File刪除一個目錄:
使用File的delete方法刪除目錄時要求該目錄必須是一個空目錄
if(dir.exists()){ dir.delete();//刪除空的目錄方法 }
使用File獲取一個目錄中的所有子項(xiàng):
獲取當(dāng)前目錄中的所有子項(xiàng)File dir = new File(".");
判斷File表示的是文件還是目錄boolean isFile();boolean isDirectory()
File[] listFiles()獲取當(dāng)前File表示的目錄中的所有子項(xiàng)返回的數(shù)組中每個元素為該目錄中的一個子項(xiàng)。
3:訪問一個目錄的子項(xiàng)但是不能讀取文件數(shù)據(jù)。
File提供了一個重載的listFiles方法,允許傳入一個過濾器,該方法只會將File表示的目錄中滿足該過濾器要求的子項(xiàng)返回。
FileFilter filter = new FileFilter(){//過濾條件 /** * 定義過濾條件,當(dāng)認(rèn)為參數(shù)file滿足 * 過濾要求時accept方法應(yīng)當(dāng)返回true */ public boolean accept(File file){ return file.isFile(); } };
1.2java.io.RandomAccessFile專門用來讀寫文件RAF讀寫文件是基于文件指針進(jìn)行的,即:RAF總是在文件指針指向的文件位置進(jìn)行讀寫字節(jié)。并且讀寫后指針會自動后移到下一個字節(jié)位置。
*RandomAccessFile raf= new RandomAccessFile("raf.dat","rw");
向raf.dat文件中寫出字節(jié);
創(chuàng)建RAF時需要指定操作權(quán)限。
權(quán)限常用的有:
r:只讀模式,對文件數(shù)據(jù)僅讀取
rw:讀寫模式
若RAF操作的文件不存在,那么RAF是rw模式時可以自動將該文件創(chuàng)建出來,但是若為r模式,會拋出文件不存在的異常。
void write(int d)向文件中寫入1個字節(jié),寫的是給定的int值對應(yīng)的2進(jìn)制的低八位。
*RandomAccessFile raf= new RandomAccessFile("raf.dat","r"); 從raf.dat文件中讀取一個字節(jié)
int read()讀取1個字節(jié),并以int形式返回。若返回值為-1,則表示讀取到了文件末尾
int read(byte[] data) 一次性從文件中讀取給定字節(jié)數(shù)組總長度的字節(jié)量,并存入到該數(shù)組中,返回值為實(shí)際讀取到的字節(jié)量,若返回值為-1,則表示本次沒有讀取到任何字節(jié)(文件末尾讀取)
void write(byte[] date)將給定的字節(jié)數(shù)組中所有字節(jié)一次性寫出
void write(byte[] data,int offset,int len) 將給定字節(jié)數(shù)組從下標(biāo)offset處開始的連續(xù)len個字節(jié)一次性寫出
上述內(nèi)容就是怎么在Java中利用File對文件進(jìn)行操作,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。