最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA進階篇之詳細(xì)了解File文件的常用API

 更新時間:2023年11月27日 09:27:21   作者:小扳  
這篇文章主要給大家介紹了關(guān)于JAVA進階篇之詳細(xì)了解File文件的常用API的相關(guān)資料,File用于表示文件系統(tǒng)中的一個文件或目錄,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

 1.0 File 文件的說明

在 Java 中,F(xiàn)ile 類是用于操作文件和文件夾的類。它提供了一系列的方法,可以用于創(chuàng)建、刪除、重命名、查詢文件和目錄的信息等操作。

2.0 如何創(chuàng)建 File 類的對象

一般都是通過文件路徑創(chuàng)建 File 對象,注意的是該對象即可以是文件也可以是文件夾。

常用的三種方式:

(1)使用文件路徑創(chuàng)建 File 對象、(2)使用目錄路徑和文件名創(chuàng)建 File 對象、(3)使用父目錄的 File 對象和文件名創(chuàng)建 File 對象

代碼如下:

public class NewFile {
    public static void main(String[] args) {
        //1. 創(chuàng)建文件對象
        File f1 = new File("D:\\software\\aaa\\bbb.txt");
        //這樣就可以得到了該路徑的文件對象了。

        //2. 創(chuàng)建文件夾對象
        File f2 = new File("D:\\software\\aaa");
        //像這樣就可以得到了該路徑的文件夾對象了。

        //3. 第二種創(chuàng)建文件對象的方式
        //   使用父目錄的 File 對象和文件名創(chuàng)建 File 對象
        File f3 = new File(f2,"bbb.txt");

        //4. 第四種創(chuàng)建文件對象的方式
        //   使用目錄路徑和文件名創(chuàng)建 File 對象
        File f4 = new File("D:\\software\\aaa","bbb.txt");
    }
}

這些方式都是大致是相同的,表達都是同一個意思。

2.1 需要注意的事項

第一個點:File 類對象既可以是文件也可以是文件夾。

第二個點:無論該路徑上的文件或者文件夾是否存在,都不會報錯,文件或者文件夾存不存在都是可以的創(chuàng)建 File 類對象的。

第三個點:編寫路徑的時候,需要注意的是如果用到了反斜杠,為了防止字符轉(zhuǎn)義,所以需要再加多一條反斜杠進行轉(zhuǎn)義為單個反斜杠。如果用到了正斜桿,就可以單寫一條就夠了。還可以用 File 類中的方法來進行編寫路徑。

代碼如下:

import java.io.File;

public class NewFile {
    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\bbb.txt");
        File f2 = new File("D:/software/aaa/bbb.txt");
        File f3 = new File("D:"+File.separator+"software"+File.separator+"aaa"+File.separator+"bbb.txt");
        System.out.println(f3.getAbsoluteFile());
    }
}

運行結(jié)果如下:

這三種效果都是相同的,都可以得到該類的對象。

3.0 File 類的常用 API

先來介紹創(chuàng)建、刪除、重命名、查詢文件和目錄的信息的相關(guān) API。

3.1 如何創(chuàng)建文件或文件夾

createNewFile():創(chuàng)建一個新的空文件。

代碼如下:

import java.io.IOException;

public class NewFile {
    public static void main(String[] args) throws IOException {

        //先要定義 File 類對象
        File f1 = new File("D:\\software\\aaa\\ccc.txt");
        //創(chuàng)建文件
        f1.createNewFile();
    }
}

如果文件不存在的話,就會創(chuàng)建一個空文件。需要注意的是,這里會有編譯異常,需要拋異?;蛘卟东@異常。

mkdir():創(chuàng)建一個新的目錄。

代碼如下:

import java.io.File;

public class NewFile {

    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\ddd");
        f1.mkdir();
    }
}

如果文件不存在的話,就會創(chuàng)建一個空文件。需要注意的是,只能創(chuàng)建一級文件夾。

mkdirs():創(chuàng)建一個多級目錄。

代碼如下:

import java.io.File;

public class NewFile {

    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\ddd\\fff\\ggg\\hhh");
        f1.mkdir();
    }
}

這些方法若創(chuàng)建成功都會返回 boolean 類型。

3.2 如何查詢文件和文件夾的信息

這些查詢信息的 API 會比較多,但是很容易上手,直接代碼演示了。

代碼如下:

import java.text.SimpleDateFormat;
import java.io.File;

public class NewFile {
    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\bbb.txt");

        //1.0 判斷當(dāng)前文件對象,對應(yīng)的文件路徑是否存在,存在返回true,反之。
        System.out.println(f1.exists());
        //輸出結(jié)果為:true

        //2.0 判斷當(dāng)前文件對象指代的是否是文件,是文件返回true,反之。
        System.out.println(f1.isFile());
        //輸出結(jié)果為:true

        //3.0 判斷當(dāng)前文件對象指代的是否是文件夾,是文件返回true,反之。
        System.out.println(f1.isDirectory());
        //輸出結(jié)果為:false

        //4.0 獲取文件的名稱(包含后綴)
        String name = f1.getName();
        System.out.println(name);
        //輸出結(jié)果為:bbb.txt

        //5.0 獲取文件的大小,返回字節(jié)個數(shù),返回類型為 long 類型。
        long len = f1.length();
        System.out.println(len);
        //輸出結(jié)果為:0

        //6.0 獲取文件的最后修改的時間,返回類型為 long 類型。
        long lastTime = f1.lastModified();
        System.out.println(lastTime);
        //輸出結(jié)果為:1698570082109
        //這里可以格式化
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = simpleDateFormat.format(lastTime);
        System.out.println(time);
        //輸出結(jié)果為:2023-10-29 17:01:22

        //7.0 獲取創(chuàng)建文件對象時,使用的路徑。
        String path = f1.getPath();
        System.out.println(path);
        //輸出結(jié)果為:D:\software\aaa\bbb.txt

        //8.0 獲取創(chuàng)建文件對象時,使用的絕對路徑。
        String absolutePath = f1.getAbsolutePath();
        System.out.println(absolutePath);
        //輸出結(jié)果為:D:\software\aaa\bbb.txt

    }
}

運行結(jié)果如下:

3.3 如何刪除文件和文件夾

delete():刪除文件或文件夾。

代碼如下:

import java.io.File;

public class NewFile {
    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\bbb.txt");
        System.out.println(f1.delete());
    }
}

刪除成功會返回ture,反之。需要注意的是,只能刪除空文件或者文件夾。

3.4 如何重命名文件和文件夾       

renameTo(File dest):重命名文件或文件夾。

代碼如下:

import java.io.File;

public class NewFile {
    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\ccc.txt");
        File f2 = new File("D:\\software\\aaa\\sss.txt");
        System.out.println(f1.renameTo(f2));
    }
}

如果可以改名成功,會返回true,反之。

3.5 如何遍歷文件和文件夾名稱    

list():返回目錄下的所有文件和目錄的名稱數(shù)組。

代碼如下:

import java.io.File;
import java.util.Arrays;

public class NewFile {
    public static void main(String[] args) {
        File f = new File("D:\\software\\code\\2023_java\\2023_java_code");
        String[] strings = f.list();
        System.out.println(Arrays.toString(strings));
    }
}

返回的是字符串類型的文件名,而不是文件或者文件夾對象。

3.6 如何遍歷文件和文件夾對象    

listFiles():返回目錄下的所有文件和目錄的File對象數(shù)組。

代碼如下:

import java.io.File;
import java.util.Arrays;

public class NewFile {
    public static void main(String[] args) {
        File file = new File("D:\\software\\code\\2023_java\\2023_java_code");
        File[] files =  file.listFiles();
        System.out.println(Arrays.toString(files));
    }
}

運行結(jié)果如下:

得到的是文件或者是文件夾的對象。

4.0 File 文件搜索

接下來做個小項目,F(xiàn)ile 文件搜索,給出盤符還有目標(biāo)文件,來通過遍歷來找到該目標(biāo)文件的路徑,并且啟動起來。

代碼如下:

import java.io.File;

public class NewFile {
    public static void main(String[] args) throws Exception {
        fileSearch(new File("D:\\"),"WeChat.exe");
    }
    public static void fileSearch(File file,String name) throws Exception {
        if (file == null || !file.exists() || file.isFile()){
            return;
        }
            File[] files = file.listFiles();
        if (files != null) {
            for (File f : files) {
                if (f.isFile()) {
                    if (f.getName().contains(name)) {
                        System.out.println("找到了:" + f.getAbsoluteFile());
                        Runtime runtime = Runtime.getRuntime();
                        runtime.exec(f.getAbsolutePath());
                    }
                } else {
                    fileSearch(f, name);
                }
            }
        }
    }
}

總結(jié) 

到此這篇關(guān)于JAVA進階篇之File文件的常用API的文章就介紹到這了,更多相關(guān)JAVA File文件的常用API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳述IntelliJ IDEA提交代碼前的 Code Analysis 機制(小結(jié))

    詳述IntelliJ IDEA提交代碼前的 Code Analysis 機制(小結(jié))

    本篇文章主要介紹了詳述IntelliJ IDEA提交代碼前的 Code Analysis 機制(小結(jié)),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-11-11
  • SpringBoot中使用Ehcache的詳細(xì)教程

    SpringBoot中使用Ehcache的詳細(xì)教程

    EhCache 是一個純 Java 的進程內(nèi)緩存框架,具有快速、精干等特點,是 Hibernate 中默認(rèn)的 CacheProvider。這篇文章主要介紹了SpringBoot中使用Ehcache的相關(guān)知識,需要的朋友可以參考下
    2020-08-08
  • Java IText異常NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable的解決方法

    Java IText異常NoClassDefFoundError: org/bouncycastle

    在使用Java進行PDF文檔操作時,iText是一個非常強大的庫,然而,在實際開發(fā)過程中,可能會遇到一些異常情況,其中之一就是??NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable??,本文將探討這個錯誤的原因及其解決方案,需要的朋友可以參考下
    2025-02-02
  • Java實現(xiàn)的快速查找算法示例

    Java實現(xiàn)的快速查找算法示例

    這篇文章主要介紹了Java實現(xiàn)的快速查找算法,結(jié)合具體實例形式分析了快速查找算法的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • 關(guān)于EntityWrapper的in用法

    關(guān)于EntityWrapper的in用法

    這篇文章主要介紹了關(guān)于EntityWrapper的in用法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • idea中l(wèi)ombok啟用的方法示例

    idea中l(wèi)ombok啟用的方法示例

    這篇文章主要介紹了idea中l(wèi)ombok啟用的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 關(guān)于kafka消費不到遠程bootstrap-server?數(shù)據(jù)的問題

    關(guān)于kafka消費不到遠程bootstrap-server?數(shù)據(jù)的問題

    很多朋友遇到kafka消費不到遠程bootstrap-server?數(shù)據(jù)的問題,怎么解決這個問題,很多朋友不知所措,下面小編給大家?guī)砹岁P(guān)于kafka消費不到遠程bootstrap-server?數(shù)據(jù)的問題及解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • SpringSecurity認(rèn)證授權(quán)全流程解讀

    SpringSecurity認(rèn)證授權(quán)全流程解讀

    這篇文章主要介紹了SpringSecurity認(rèn)證授權(quán)全流程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Mybatis-Plus 自動填充失效問題解決

    Mybatis-Plus 自動填充失效問題解決

    在使用MyBatis-Plus時,自動填充功能可能會失效,這通常與版本和配置有關(guān),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • Java 梳理總結(jié)關(guān)于static關(guān)鍵字常見問題

    Java 梳理總結(jié)關(guān)于static關(guān)鍵字常見問題

    static關(guān)鍵字基本概念我們可以一句話來概括:方便在沒有創(chuàng)建對象的情況下來進行調(diào)用。也就是說:被static關(guān)鍵字修飾的不需要創(chuàng)建對象去調(diào)用,直接根據(jù)類名就可以去訪問,讓我們來了解一下你可能還不知道情況
    2022-04-04

最新評論

永川市| 青川县| 青阳县| 麟游县| 壤塘县| 扎赉特旗| 赤水市| 赣榆县| 宁乡县| 屏边| 固阳县| 漳平市| 祁东县| 清远市| 江门市| 平南县| 淮阳县| 合肥市| 洛阳市| 扶余县| 洪泽县| 永登县| 盈江县| 廉江市| 宁蒗| 河南省| 花莲市| 东乡县| 邳州市| 涟源市| 绥芬河市| 清丰县| 两当县| 保靖县| 陇南市| 东光县| 合川市| 东乌珠穆沁旗| 浦县| 灵台县| 大安市|