国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Java基礎之文件和目錄操作

發(fā)布時(shí)間:2021-07-17 21:51 來(lái)源:腳本之家 閱讀:0 作者:norang 欄目: 編程語(yǔ)言 歡迎投稿:712375056

目錄

一、前言

文件和目錄操作最終是與操作系統和文件系統相關(guān)的,不同系統的 實(shí)現是不一樣的,但Java中的java.io.File類(lèi)提供了統一的接口,底層會(huì ) 通過(guò)本地方法調用操作系統和文件系統的具體實(shí)現,本節,我們就來(lái)介 紹File類(lèi)。File類(lèi)中的操作大概可以分為三類(lèi):文件元數據、文件操作、 目錄操作,在介紹這些操作之前,我們先來(lái)看下File的構造方法。

二、構造方法

File既可以表示文件,也可以表示目錄,它的主要構造方法有:

 

File中的路徑可以是已經(jīng)存在的,也可以是不存在的。通過(guò)new新建一個(gè)File對象,不會(huì )實(shí)際創(chuàng )建一個(gè)文件,只是創(chuàng )建一個(gè)表示文件或目錄的對象,new之后,File對象中的路徑是不可變的。

三、文件元數據

文件元數據主要包括文件名和路徑、文件基本信息以及一些安全和 權限相關(guān)的信息。文件名和路徑相關(guān)的主要方法有:

這些方法比較直觀(guān),我們就不解釋了。File類(lèi)中有4個(gè)靜態(tài)變量,表示路徑分隔符,它們是:

separator和separatorChar表示文件路徑分隔符,在Windows系統中, 一般為'',Linux系統中一般為'/'。pathSeparator和pathSeparatorChar表示 多個(gè)文件路徑中的分隔符,比如,環(huán)境變量PATH中的分隔符,Java類(lèi) 路徑變量classpath中的分隔符,在執行命令時(shí),操作系統會(huì )從PATH指 定的目錄中尋找命令,Java運行時(shí)加載class文件時(shí),會(huì )從classpath指定 的路徑中尋找類(lèi)文件。在Windows系統中,這個(gè)分隔符一般為';',在 Linux系統中,這個(gè)分隔符一般為':'。

除了文件名和路徑,File對象還有如下方法,以獲取文件或目錄的 基本信息:

     

 需要說(shuō)明的是,File對象沒(méi)有返回創(chuàng )建時(shí)間的方法,因為創(chuàng )建時(shí)間 不是一個(gè)公共概念,Linux/Unix就沒(méi)有創(chuàng )建時(shí)間的概念。

File類(lèi)中與安全和權限相關(guān)的主要方法有:

在修改方法中,如果修改成功,返回true,否則返回false。在設置 權限方法中,owner-Only為true表示只針對owner,為false表示針對所有 用戶(hù),沒(méi)有指定ownerOnly的方法中,ownerOnly相當于是true。

四、文件操作

文件操作主要有創(chuàng )建、刪除、重命名。

新建一個(gè)File對象不會(huì )實(shí)際創(chuàng )建文件,但如下方法可以:

創(chuàng )建成功返回true,否則返回false,新創(chuàng )建的文件內容為空。如果文件已存在,不會(huì )創(chuàng )建。

File對象還有兩個(gè)靜態(tài)方法,可以創(chuàng )建臨時(shí)文件:

臨時(shí)文件的完整路徑名是系統指定的、唯一的,但可以通過(guò)參數指 定前綴(prefix)、后綴(suffix)和目錄(directory)。prefix是必需 的,且至少要三個(gè)字符;suffix如果為null,則默認為.tmp;directory如 果不指定或指定為null,則使用系統默認目錄。

File類(lèi)的刪除方法為:

      

delete刪除文件或目錄,刪除成功返回true,否則返回false。如果File是目錄且不為空,則delete不會(huì )成功,返回false,換句話(huà)說(shuō),要刪除目錄,先要刪除目錄下的所有子目錄和文件。deleteOnExit將File對象加入到待刪列表,在Java虛擬機正常退出的時(shí)候進(jìn)行實(shí)際刪除。

File類(lèi)的重命名方法為:

      

參數dest代表重命名后的文件,重命名能否成功與系統有關(guān),返回 值代表是否成功。

五、目錄操作

當File對象代表目錄時(shí),可以執行目錄相關(guān)的操作,如創(chuàng )建、遍歷。

有兩個(gè)方法用于創(chuàng )建目錄:

它們都是創(chuàng )建目錄,創(chuàng )建成功返回true,失敗返回false。需要注意的是,如果目錄已存在,返回值是false。這兩個(gè)方法的區別在于:如果 某一個(gè)中間父目錄不存在,則mkdir會(huì )失敗,返回false,而mkdirs則會(huì )創(chuàng )建必需的中間父目錄。

有如下方法訪(fǎng)問(wèn)一個(gè)目錄下的子目錄和文件:

它們返回的都是直接子目錄或文件,不會(huì )返回子目錄下的文件。 list返回的是文件名數組,而listFiles返回的是File對象數組。FilenameFilter和FileFilter都是接口,用于過(guò)濾,FileFilter的定義為:

FilenameFilter的定義為:

      

在遍歷子目錄和文件時(shí),針對每個(gè)文件,會(huì )調用FilenameFilter或 FileFilter的accept方法,只有accept方法返回true時(shí),才將該子目錄或文件包含到返回結果中。Filename-Filter和FileFilter的區別在于:FileFilter 的accept方法參數只有一個(gè)File對象,而File-nameFilter的accept方法參數 有兩個(gè),dir表示父目錄,name表示子目錄或文件名。我們來(lái)看個(gè)例 子,列出當前目錄下的所有擴展名為.txt的文件,代碼可以為:

      

 我們創(chuàng )建了個(gè)FilenameFilter的匿名內部類(lèi)對象并傳遞給了listFiles。

使用遍歷方法,可以方便地進(jìn)行遞歸遍歷,完成一些更為高級的功能。比如,計算一個(gè)目錄下的所有文件的大?。òㄗ幽夸洠?,代碼可以為:

再如,在一個(gè)目錄下,查找所有給定文件名的文件,代碼可以為:

       

前面介紹了File類(lèi)的delete方法,我們提到,如果要刪除目錄而目錄不為空,需要先清空目錄,利用遍歷方法,我們可以寫(xiě)一個(gè)刪除非空目錄的方法,代碼可以為:

六、總結

關(guān)于文件處理的基本技術(shù),包括文件的基本概念、二進(jìn)制文件與字 節流、文本文件與字符流,以及文件和目錄操作,至此,我們就介紹完 了。下一章,我們來(lái)看文件處理相關(guān)的一些高級技術(shù)。

到此這篇關(guān)于Java基礎之文件和目錄操作的文章就介紹到這了,更多相關(guān)Java文件和目錄操作內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

国产在线AAA片一区二区99| 欧洲国产伦久久久久久久| 国产精品久久久亚洲| 最新亚洲人成无码网站| 无码国产免费不卡免费| 老熟妻内射精品一区|