" />

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

Java IO之File 類詳解

 更新時(shí)間:2022年01月19日 16:17:11   作者:YSOcean  
這篇文章主要為大家介紹了vue組件通信的幾種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

File 類:文件和目錄路徑名的抽象表示。

注意:File 類只能操作文件的屬性,文件的內(nèi)容是不能操作的。

1、File 類的字段

我們知道,各個(gè)平臺(tái)之間的路徑分隔符是不一樣的。

①、對(duì)于UNIX平臺(tái),絕對(duì)路徑名的前綴始終為"/" 。 相對(duì)路徑名沒有前綴。 表示根目錄的抽象路徑名具有前綴"/"和空名稱序列。

②、對(duì)于Microsoft Windows平臺(tái),包含驅(qū)動(dòng)器說明符的路徑名的前綴由后面跟著":"的驅(qū)動(dòng)器號(hào)組成,如果路徑名是絕對(duì)的,則可能后跟"\\" 。 UNC路徑名的前綴為"\\\\" ; 主機(jī)名和共享名稱是名稱序列中的前兩個(gè)名稱沒有有指定驅(qū)動(dòng)器的相對(duì)路徑名沒有前綴。

那么為了屏蔽各個(gè)平臺(tái)之間的分隔符差異,我們?cè)跇?gòu)造 File 類的時(shí)候(如何構(gòu)造,請(qǐng)看下面第二點(diǎn)),就可以使用上述 Java 為我們提供的字段。

那么我們可以看出:

File.pathSeparator指的是分隔連續(xù)多個(gè)路徑字符串的分隔符

File.separator是用來分隔同一個(gè)路徑字符串中的目錄的

2、File 類的構(gòu)造方法

如何使用上述構(gòu)造方法,請(qǐng)看如下例子: 

//不使用 Java 提供的分隔符字段,注意:這樣寫只能在 Windows 平臺(tái)有效
        File f1 = new File("D:\\IO\\a.txt");
        //使用 Java 提供的分隔符
        File f2 = new File("D:"+File.separator+"IO"+File.separator+"a.txt");
        System.out.println(f1);//輸出 D:\IO\a.txt  
        System.out.println(f2);//輸出 D:\IO\a.txt
         
        //File(File parent, String child)
        //從父抽象路徑名和子路徑名字符串創(chuàng)建新的 File實(shí)例。
        File f3 = new File("D:");
        File f4 = new File(f3,"IO");
        System.out.println(f4); //D:\IO
         
        //File(String pathname)
        //通過將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建新的 File實(shí)例。
        File f5 = new File("D:"+File.separator+"IO"+File.separator+"a.txt");
        System.out.println(f5); //D:\IO\a.txt
         
        //File(String parent, String child)
        //從父路徑名字符串和子路徑名字符串創(chuàng)建新的 File實(shí)例。
        File f6 = new File("D:","IO\\a.txt");
        System.out.println(f6); //D:\IO\a.txt

3、File 類的常用方法

①、創(chuàng)建方法

1.boolean createNewFile() 不存在返回true 存在返回false

2.boolean mkdir() 創(chuàng)建目錄,如果上一級(jí)目錄不存在,則會(huì)創(chuàng)建失敗

3.boolean mkdirs() 創(chuàng)建多級(jí)目錄,如果上一級(jí)目錄不存在也會(huì)自動(dòng)創(chuàng)建

②、刪除方法

1.boolean delete() 刪除文件或目錄,如果表示目錄,則目錄下必須為空才能刪除

2.boolean deleteOnExit() 文件使用完成后刪除

③、判斷方法

1.boolean canExecute()判斷文件是否可執(zhí)行

2.boolean canRead()判斷文件是否可讀

3.boolean canWrite() 判斷文件是否可寫

4.boolean exists() 判斷文件或目錄是否存在

5.boolean isDirectory() 判斷此路徑是否為一個(gè)目錄

6.boolean isFile()  判斷是否為一個(gè)文件

7.boolean isHidden()  判斷是否為隱藏文件

8.boolean isAbsolute()判斷是否是絕對(duì)路徑 文件不存在也能判斷

④、獲取方法

1.String getName() 獲取此路徑表示的文件或目錄名稱

2.String getPath() 將此路徑名轉(zhuǎn)換為路徑名字符串

3.String getAbsolutePath()返回此抽象路徑名的絕對(duì)形式

4.String getParent()//如果沒有父目錄返回null

5.long lastModified()//獲取最后一次修改的時(shí)間

6.long length()返回由此抽象路徑名表示的文件的長(zhǎng)度。

7.boolean renameTo(File f)重命名由此抽象路徑名表示的文件。

8.File[] liseRoots()//獲取機(jī)器盤符

9.String[] list() 返回一個(gè)字符串?dāng)?shù)組,命名由此抽象路徑名表示的目錄中的文件和目錄。

10.String[] list(FilenameFilter filter)返回一個(gè)字符串?dāng)?shù)組,命名由此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。

//File(File parent, String child)
        //從父抽象路徑名和子路徑名字符串創(chuàng)建新的 File實(shí)例。
        File dir = new File("D:"+File.separator+"IO");
        File file = new File(dir,"a.txt");
         
        //判斷dir 是否存在且表示一個(gè)目錄
        if(!(dir.exists()||dir.isDirectory())){
            //如果 dir 不存在,則創(chuàng)建這個(gè)目錄
            dir.mkdirs();
            //根據(jù)目錄和文件名,創(chuàng)建 a.txt文件
            file.createNewFile();
 
        }
        //返回由此抽象路徑名表示的文件或目錄的名稱。 這只是路徑名稱序列中的最后一個(gè)名字。 如果路徑名的名稱序列為空,則返回空字符串。
        System.out.println(file.getName()); //a.txt
        //返回此抽象路徑名的父null的路徑名字符串,如果此路徑名未命名為父目錄,則返回null。
        System.out.println(file.getParent());//D:\IO
        //將此抽象路徑名轉(zhuǎn)換為路徑名字符串。 結(jié)果字符串使用default name-separator character以名稱順序分隔名稱。
        System.out.println(file.getPath()); //D:\IO\a.txt

4、File 的一些技巧

①、打印給定目錄下的所有文件夾和文件夾里面的內(nèi)容 

public static void getFileList(File file){
        //第一級(jí)子目錄
        File[] files = file.listFiles();
        for(File f:files){
            //打印目錄和文件
            System.out.println(f);
            if(f.isDirectory()){
                getFileList(f);
            }
        }
    }

測(cè)試:

public static void main(String[] args) throws Exception {
        File f = new File("D:"+File.separator+"WebStormFile");
        getFileList(f);
    }

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 詳解ssh框架原理及流程

    詳解ssh框架原理及流程

    在本文中小編給大家整理的是關(guān)于ssh框架原理及流程的相關(guān)知識(shí)點(diǎn)內(nèi)容,有此需要的朋友們可以學(xué)習(xí)下。
    2019-07-07
  • Java用20行代碼實(shí)現(xiàn)抖音小視頻批量轉(zhuǎn)換為gif動(dòng)態(tài)圖

    Java用20行代碼實(shí)現(xiàn)抖音小視頻批量轉(zhuǎn)換為gif動(dòng)態(tài)圖

    這篇文章主要介紹了Java用20行代碼實(shí)現(xiàn)抖音小視頻批量轉(zhuǎn)換為gif動(dòng)態(tài)圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Spring AOP的底層實(shí)現(xiàn)方式-代理模式

    Spring AOP的底層實(shí)現(xiàn)方式-代理模式

    這篇文章主要介紹了Spring AOP的底層實(shí)現(xiàn)方式-代理模式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之排序算法

    Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之排序算法

    排序算法是《數(shù)據(jù)結(jié)構(gòu)與算法》中最基本的算法之一。排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存
    2022-02-02
  • 教你如何把Eclipse創(chuàng)建的Web項(xiàng)目(非Maven)導(dǎo)入Idea

    教你如何把Eclipse創(chuàng)建的Web項(xiàng)目(非Maven)導(dǎo)入Idea

    這篇文章主要介紹了教你如何把Eclipse創(chuàng)建的Web項(xiàng)目(非Maven)導(dǎo)入Idea,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 在CentOS上配置Java環(huán)境變量的教程

    在CentOS上配置Java環(huán)境變量的教程

    這篇文章主要介紹了在CentOS上配置Java環(huán)境變量的教程,同時(shí)適用于Fedora等其他RedHat系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • SpringBoot集成kafka全面實(shí)戰(zhàn)記錄

    SpringBoot集成kafka全面實(shí)戰(zhàn)記錄

    在實(shí)際開發(fā)中,我們可能有這樣的需求,應(yīng)用A從TopicA獲取到消息,經(jīng)過處理后轉(zhuǎn)發(fā)到TopicB,再由應(yīng)用B監(jiān)聽處理消息,即一個(gè)應(yīng)用處理完成后將該消息轉(zhuǎn)發(fā)至其他應(yīng)用,完成消息的轉(zhuǎn)發(fā),這篇文章主要介紹了SpringBoot集成kafka全面實(shí)戰(zhàn),需要的朋友可以參考下
    2021-11-11
  • 巧用FutureTask 線程池輕松解決接口超時(shí)問題

    巧用FutureTask 線程池輕松解決接口超時(shí)問題

    這篇文章主要為大家介紹了使用FutureTask結(jié)合線程池輕松解決接口超時(shí)問題的巧妙用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • SpringCloud中Gateway的使用教程詳解

    SpringCloud中Gateway的使用教程詳解

    SpringCloud?Gateway是Spring體系內(nèi)的一個(gè)全新項(xiàng)目,它旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單有效的統(tǒng)一的API路由管理方式。本文就來為大家詳細(xì)講講Gateway的使用教程,需要的可以參考一下
    2022-08-08
  • Java sdk安裝及配置案例詳解

    Java sdk安裝及配置案例詳解

    這篇文章主要介紹了Java sdk安裝及配置案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評(píng)論