Java-文件File簡(jiǎn)單實(shí)用方法(分享)
1.1java.io.File
File用于表示文件系統(tǒng)中的一個(gè)文件或目錄
通過(guò)File可以:
1:訪問(wèn)該文件或目錄的屬性信息(名字,大小,修改時(shí)間等)
file.getName();獲取文件名
file.length();獲取文件長(zhǎng)度
file.lastModified();獲取文件最后一次修改時(shí)間
file.canWrite();是否可寫
file.canRead();是否可讀
file.isHidden();是否隱藏
2:操作文件或目錄(創(chuàng)建,刪除)
使用File創(chuàng)建一個(gè)新文件
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刪除一個(gè)文件
File file = new File("text.txt");
file.delete();//如果有這個(gè)文件去刪除,應(yīng)當(dāng)加exists()判斷
使用File創(chuàng)建一個(gè)目錄mkdir();可以將全部路徑寫進(jìn)入創(chuàng)建多級(jí)目錄。
使用File刪除一個(gè)目錄:
使用File的delete方法刪除目錄時(shí)要求該目錄必須是一個(gè)空目錄
if(dir.exists()){ dir.delete();//刪除空的目錄方法 }
使用File獲取一個(gè)目錄中的所有子項(xiàng):
獲取當(dāng)前目錄中的所有子項(xiàng)File dir = new File(".");
判斷File表示的是文件還是目錄boolean isFile();boolean isDirectory()
File[] listFiles()獲取當(dāng)前File表示的目錄中的所有子項(xiàng)返回的數(shù)組中每個(gè)元素為該目錄中的一個(gè)子項(xiàng)。
3:訪問(wèn)一個(gè)目錄的子項(xiàng)但是不能讀取文件數(shù)據(jù)。
File提供了一個(gè)重載的listFiles方法,允許傳入一個(gè)過(guò)濾器,該方法只會(huì)將File表示的目錄中滿足該過(guò)濾器要求的子項(xiàng)返回。
FileFilter filter = new FileFilter(){//過(guò)濾條件 /** * 定義過(guò)濾條件,當(dāng)認(rèn)為參數(shù)file滿足 * 過(guò)濾要求時(shí)accept方法應(yīng)當(dāng)返回true */ public boolean accept(File file){ return file.isFile(); } };
1.2java.io.RandomAccessFile專門用來(lái)讀寫文件RAF讀寫文件是基于文件指針進(jìn)行的,即:RAF總是在文件指針指向的文件位置進(jìn)行讀寫字節(jié)。并且讀寫后指針會(huì)自動(dòng)后移到下一個(gè)字節(jié)位置。
*RandomAccessFile raf= new RandomAccessFile("raf.dat","rw");
向raf.dat文件中寫出字節(jié);
創(chuàng)建RAF時(shí)需要指定操作權(quán)限。
權(quán)限常用的有:
r:只讀模式,對(duì)文件數(shù)據(jù)僅讀取
rw:讀寫模式
若RAF操作的文件不存在,那么RAF是rw模式時(shí)可以自動(dòng)將該文件創(chuàng)建出來(lái),但是若為r模式,會(huì)拋出文件不存在的異常。
void write(int d)向文件中寫入1個(gè)字節(jié),寫的是給定的int值對(duì)應(yīng)的2進(jìn)制的低八位。
*RandomAccessFile raf= new RandomAccessFile("raf.dat","r"); 從raf.dat文件中讀取一個(gè)字節(jié)
int read()讀取1個(gè)字節(jié),并以int形式返回。若返回值為-1,則表示讀取到了文件末尾
int read(byte[] data) 一次性從文件中讀取給定字節(jié)數(shù)組總長(zhǎng)度的字節(jié)量,并存入到該數(shù)組中,返回值為實(shí)際讀取到的字節(jié)量,若返回值為-1,則表示本次沒(méi)有讀取到任何字節(jié)(文件末尾讀取)
void write(byte[] date)將給定的字節(jié)數(shù)組中所有字節(jié)一次性寫出
void write(byte[] data,int offset,int len) 將給定字節(jié)數(shù)組從下標(biāo)offset處開(kāi)始的連續(xù)len個(gè)字節(jié)一次性寫出
我是初學(xué)者,如有更新不好的,歡迎這位大神指出,謝謝大家!
以上這篇Java-文件File簡(jiǎn)單實(shí)用方法(分享)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java隊(duì)列中Queue與Deque的區(qū)別面試精講
這篇文章主要為大家介紹了java隊(duì)列中Queue與Deque的區(qū)別面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10

Spring框架+jdbcTemplate實(shí)現(xiàn)增刪改查功能

Java concurrency之LockSupport_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

Spring?Data?Jpa?復(fù)雜查詢方式總結(jié)(多表關(guān)聯(lián)及自定義分頁(yè))

java URL 獲取PHP JSON 數(shù)據(jù)

Eclipse中創(chuàng)建Web項(xiàng)目最新方法(2023年)