Java-文件File簡(jiǎn)單實(shí)用方法(分享)
1.1java.io.File
File用于表示文件系統(tǒng)中的一個(gè)文件或目錄
通過File可以:
1:訪問該文件或目錄的屬性信息(名字,大小,修改時(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:訪問一個(gè)目錄的子項(xiàng)但是不能讀取文件數(shù)據(jù)。
File提供了一個(gè)重載的listFiles方法,允許傳入一個(gè)過濾器,該方法只會(huì)將File表示的目錄中滿足該過濾器要求的子項(xiàng)返回。
FileFilter filter = new FileFilter(){//過濾條件
/**
* 定義過濾條件,當(dāng)認(rèn)為參數(shù)file滿足
* 過濾要求時(shí)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é)。并且讀寫后指針會(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)建出來,但是若為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,則表示本次沒有讀取到任何字節(jié)(文件末尾讀取)
void write(byte[] date)將給定的字節(jié)數(shù)組中所有字節(jié)一次性寫出
void write(byte[] data,int offset,int len) 將給定字節(jié)數(shù)組從下標(biāo)offset處開始的連續(xù)len個(gè)字節(jié)一次性寫出
我是初學(xué)者,如有更新不好的,歡迎這位大神指出,謝謝大家!
以上這篇Java-文件File簡(jiǎn)單實(shí)用方法(分享)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
POI XSSFSheet shiftRows bug問題解決
這篇文章主要介紹了POI XSSFSheet shiftRows bug問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
關(guān)于SpringCloud整合RabbitMQ的實(shí)例
這篇文章主要介紹了關(guān)于SpringCloud整合RabbitMQ的實(shí)例,消息隊(duì)列是指利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺(tái)無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成,是在消息的傳輸過程中保存消息的容器,需要的朋友可以參考下2023-07-07
JDK1.7 Paths,Files類實(shí)現(xiàn)文件夾的復(fù)制與刪除的實(shí)例
下面小編就為大家分享一篇JDK1.7 Paths,Files類實(shí)現(xiàn)文件夾的復(fù)制與刪除的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以前跟隨小編過來看看吧2017-11-11
JDK14新特性之switch表達(dá)式的實(shí)現(xiàn)
這篇文章主要介紹了JDK14新特性之switch表達(dá)式的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
Java中Quartz高可用定時(shí)任務(wù)快速入門
如果你想做定時(shí)任務(wù),有高可用方面的需求,或者僅僅想入門快,上手簡(jiǎn)單,那么選用它準(zhǔn)沒錯(cuò),感興趣的小伙伴們可以參考一下2022-04-04

