欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java基礎之文件和目錄操作

 更新時間:2021年05月08日 09:19:52   作者:norang  
這篇文章主要介紹了Java基礎之文件和目錄操作,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好地幫助,需要的朋友可以參考下

一、前言

文件和目錄操作最終是與操作系統(tǒng)和文件系統(tǒng)相關的,不同系統(tǒng)的 實現(xiàn)是不一樣的,但Java中的java.io.File類提供了統(tǒng)一的接口,底層會 通過本地方法調(diào)用操作系統(tǒng)和文件系統(tǒng)的具體實現(xiàn),本節(jié),我們就來介 紹File類。File類中的操作大概可以分為三類:文件元數(shù)據(jù)、文件操作、 目錄操作,在介紹這些操作之前,我們先來看下File的構造方法。

二、構造方法

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

在這里插入圖片描述 

File中的路徑可以是已經(jīng)存在的,也可以是不存在的。通過new新建一個File對象,不會實際創(chuàng)建一個文件,只是創(chuàng)建一個表示文件或目錄的對象,new之后,F(xiàn)ile對象中的路徑是不可變的。

三、文件元數(shù)據(jù)

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

在這里插入圖片描述

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

在這里插入圖片描述

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

除了文件名和路徑,F(xiàn)ile對象還有如下方法,以獲取文件或目錄的 基本信息:

在這里插入圖片描述     

 需要說明的是,F(xiàn)ile對象沒有返回創(chuàng)建時間的方法,因為創(chuàng)建時間 不是一個公共概念,Linux/Unix就沒有創(chuàng)建時間的概念。

File類中與安全和權限相關的主要方法有:

在這里插入圖片描述

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

四、文件操作

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

File類的刪除方法為:

在這里插入圖片描述      

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

File類的重命名方法為:

在這里插入圖片描述      

參數(shù)dest代表重命名后的文件,重命名能否成功與系統(tǒng)有關,返回 值代表是否成功。

五、目錄操作

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

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

在這里插入圖片描述

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

有如下方法訪問一個目錄下的子目錄和文件:

在這里插入圖片描述

它們返回的都是直接子目錄或文件,不會返回子目錄下的文件。 list返回的是文件名數(shù)組,而listFiles返回的是File對象數(shù)組。FilenameFilter和FileFilter都是接口,用于過濾,F(xiàn)ileFilter的定義為:

在這里插入圖片描述

FilenameFilter的定義為:

在這里插入圖片描述      

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

在這里插入圖片描述      

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

使用遍歷方法,可以方便地進行遞歸遍歷,完成一些更為高級的功能。比如,計算一個目錄下的所有文件的大?。òㄗ幽夸洠a可以為:

在這里插入圖片描述

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

在這里插入圖片描述       

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

在這里插入圖片描述

六、總結

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

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

相關文章

  • idea導入module全流程

    idea導入module全流程

    這篇文章主要介紹了idea導入module全流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • IntelliJ?IDEA?2021.3?正式發(fā)布之支持遠程開發(fā)、IDE故障排查等多項優(yōu)化改進

    IntelliJ?IDEA?2021.3?正式發(fā)布之支持遠程開發(fā)、IDE故障排查等多項優(yōu)化改進

    IntelliJ?IDEA?2021.3?正式發(fā)布:支持遠程開發(fā)、IDE故障排查等多項優(yōu)化改進問題,在這個版本中的遠程開發(fā)還不是一個正式版本,而是BETA版,但通過這個BETA版本,也可以體驗IDEA“遠程開發(fā)”給我們帶來的全新體驗
    2021-12-12
  • Java 整合模板徹底解決ssm配置難題

    Java 整合模板徹底解決ssm配置難題

    SSM框架是spring MVC ,spring和mybatis框架的整合,是標準的MVC模式,將整個系統(tǒng)劃分為表現(xiàn)層,controller層,service層,DAO層四層,使用spring MVC負責請求的轉(zhuǎn)發(fā)和視圖管理,spring實現(xiàn)業(yè)務對象管理,mybatis作為數(shù)據(jù)對象的持久化引擎
    2021-10-10
  • Spring依賴注入和控制反轉(zhuǎn)詳情

    Spring依賴注入和控制反轉(zhuǎn)詳情

    這篇文章主要介紹了Spring依賴注入和控制反轉(zhuǎn)詳情,控制反轉(zhuǎn)是面向?qū)ο缶幊讨惺褂玫男g語,通過該術語,對象或?qū)ο蠹目刂茩啾毁x予框架或由框架提供的容器。下文更多相關內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • Spring MVC 圖片的上傳和下載功能

    Spring MVC 圖片的上傳和下載功能

    SSM 框架是一種基于Java的Web開發(fā)框架,其中Spring作為控制層、SpringMVC作為視圖層、MyBatis作為持久層,這個框架非常適合Web應用程序的開發(fā),這篇文章主要介紹了Spring MVC 圖片的上傳和下載功能,需要的朋友可以參考下
    2023-03-03
  • maven打包加入本地jar包的實現(xiàn)

    maven打包加入本地jar包的實現(xiàn)

    在使用maven打包的過程中,有時候我們需要添加一些本地的jar包,本文主要介紹了maven打包加入本地jar包的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • Spring?Data?JPA框架快速入門之自定義Repository接口

    Spring?Data?JPA框架快速入門之自定義Repository接口

    Spring?Data?JPA是Spring基于JPA規(guī)范的基礎上封裝的?套?JPA?應?框架,可使開發(fā)者?極簡的代碼即可實現(xiàn)對數(shù)據(jù)庫的訪問和操作,本篇我們來了解Spring?Data?JPA框架的自定義Repository接口
    2022-04-04
  • 深度理解Java訪問修飾符

    深度理解Java訪問修飾符

    今天帶大家學習的是Java的相關知識,文章圍繞著Java訪問修飾符展開,有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 詳談Spring是否支持對靜態(tài)方法進行Aop增強

    詳談Spring是否支持對靜態(tài)方法進行Aop增強

    這篇文章主要介紹了Spring是否支持對靜態(tài)方法進行Aop增強,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java并發(fā)編程數(shù)據(jù)庫與緩存數(shù)據(jù)一致性方案解析

    Java并發(fā)編程數(shù)據(jù)庫與緩存數(shù)據(jù)一致性方案解析

    這篇文章主要為大家介紹了Java并發(fā)編程中數(shù)據(jù)庫與緩存數(shù)據(jù)一致性解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04

最新評論