本篇文章為大家展示了怎么在Java中利用File對文件進(jìn)行操作,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對主動防護(hù)網(wǎng)等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
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獲取一個目錄中的所有子項:
獲取當(dāng)前目錄中的所有子項File dir = new File(".");
判斷File表示的是文件還是目錄boolean isFile();boolean isDirectory()
File[] listFiles()獲取當(dāng)前File表示的目錄中的所有子項返回的數(shù)組中每個元素為該目錄中的一個子項。
3:訪問一個目錄的子項但是不能讀取文件數(shù)據(jù)。
File提供了一個重載的listFiles方法,允許傳入一個過濾器,該方法只會將File表示的目錄中滿足該過濾器要求的子項返回。
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ù)組中,返回值為實際讀取到的字節(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)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。