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

Java文件與IO流操作原理詳細(xì)分析

 更新時(shí)間:2022年09月26日 09:45:58   作者:小黎的培培筆錄  
在java中提供有對(duì)于文件操作系統(tǒng)的支持,這個(gè)支持在java.io.File類中進(jìn)行了定義,也就是說在整個(gè)java.io包中File類是唯一一個(gè)與文件本身操作有關(guān)的類(創(chuàng)建,刪除,重命名)有關(guān)的類,而如果想要進(jìn)行File類的操作,我們需要提供有完整的路徑支持,而后可以調(diào)用相應(yīng)的方法進(jìn)行處理

一、文件

1、基本解釋

(1)什么是文件?

文件是保存數(shù)據(jù)的地方,比如大家經(jīng)常使用的word文檔、txt文件、excel文件等都是文件。它還可以保存一張圖片,也可以保存視頻聲音

(2)文件流

流 :數(shù)據(jù)在數(shù)據(jù)源(文件)和程序(內(nèi)存)之間經(jīng)歷的路徑

輸入流 : 數(shù)據(jù)從數(shù)據(jù)源(文件)到程序(內(nèi)存)的路徑

輸出流 :數(shù)據(jù)從程序(內(nèi)存)到數(shù)據(jù)源(文件)的路徑

2、常用的文件操作

(1)相關(guān)方法

  • new File(String pathname) --> 根據(jù)路徑構(gòu)建一個(gè)File對(duì)象
  • new File(File parent,String child) --> 根據(jù)父目錄文件+子路徑構(gòu)建
  • new File(String parent,String child) --> 根據(jù)父目錄+子路徑構(gòu)建
  • createNewFile 創(chuàng)建新文件

(2)代碼示例

(①)方式一:new File(String pathname)

    //方式1 new File(String pathname)
    public void create01(){
        //定好路徑
        String filePath = "D:\\news1.txt";
        //創(chuàng)建路徑對(duì)象
        File file = new File(filePath);
        try {
            //根據(jù)路徑創(chuàng)建文件
            file.createNewFile();
            System.out.println("創(chuàng)建文件成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

(②)方式二:new File(File parent,String child)

//第二種方式 new File(File parent,String child) ,根據(jù)父目錄文件 + 子路徑構(gòu)建
    //D:\\news2.txt
    public void create02(){
        File parentFile = new File("D:\\");
        String fileName = "news2.txt";
        //創(chuàng)建路徑對(duì)象
        File file = new File(parentFile, fileName);
        try {
            //根據(jù)路徑創(chuàng)建文件
            file.createNewFile();
            System.out.println("創(chuàng)建成功~");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

(③)方式三:new File(String parent,String child)

//第三種方式 new File(String parent,String child) ,根據(jù)父目錄文件 + 子路徑構(gòu)建
    //D:\\news3.txt
    public void create03(){
        String parentFile = "D:\\";
        String fileName = "news3.txt";
        File file = new File(parentFile, fileName);
        try {
 
            file.createNewFile();
            System.out.println("創(chuàng)建成功~");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

3、獲取文件相關(guān)信息

(1)常用方法:代碼示例

    //獲取文件的信息
    public void info(){
        //先創(chuàng)建文件對(duì)象
        File file = new File("D:\\news1.txt");
        //調(diào)用相應(yīng)的方法,得到對(duì)應(yīng)的信息
        System.out.println("文件名字=" + file.getName());
        System.out.println("文件絕對(duì)路徑=" + file.getAbsolutePath());
        System.out.println("文件父級(jí)目錄=" + file.getParent());
        System.out.println("文件大?。ㄗ止?jié))=" + file.length());
        System.out.println("是否有文件存在=" + file.exists());
        System.out.println("是不是有一個(gè)文件=" + file.isFile());
        System.out.println("是不是有一個(gè)目錄=" + file.isDirectory());
    }

4、目錄操作和文件刪除

  • mkdir 創(chuàng)建一級(jí)目錄
  • mkdirs 創(chuàng)建多級(jí)目錄
  • delete 刪除空目錄或文件

==》代碼示例1:

    //判斷 d:\\news1.txt 是否存在,如果存在就刪除
    public void m1(){
        //文件路徑
        String filePath = "d:\\news1.txt";
        //創(chuàng)建文件路徑對(duì)象
        File file = new File(filePath);
        //首先判斷文件是否存在
        if (file.exists()){
            //如果存在,就刪除
            if (file.delete()){
                System.out.println(filePath + "刪除成功");
            }else {
                System.out.println("刪除失敗");
            }
        }else {
            System.out.println("該文件不存在.....");
        }
    }

==》代碼示例2:

    //判斷 d:\\demo02 是否存在,如果存在就刪除
    //這里我們需要體會(huì)到,在Java編程中,目錄也被當(dāng)做文件
    public void m2(){
        //文件路徑
        String filePath = "d:\\demo02";
        //創(chuàng)建文件路徑對(duì)象
        File file = new File(filePath);
        //首先判斷文件是否存在
        if (file.exists()){
            //如果存在,就刪除
            if (file.delete()){
                System.out.println(filePath + "刪除成功");
            }else {
                System.out.println("刪除失敗");
            }
        }else {
            System.out.println("該目錄不存在.....");
        }
    }

==》代碼示例3:

    //判斷:D:\\demo\\a\\b\\c 目錄是否存在,如果存在就提示已經(jīng)存在,否則就創(chuàng)建
    public void m3(){
        //文件路徑
        String directoryPath = "D:\\demo\\a\\b\\c";
        //路徑對(duì)象
        File file = new File(directoryPath);
        //首先判斷文件是否存在
        if (file.exists()){
            System.out.println(directoryPath + "存在");
        }else {
            if (file.mkdirs()){
                System.out.println(directoryPath + "創(chuàng)建成功");
            }else {
                System.out.println("創(chuàng)建失敗");
            }
        }
    }

二、IO流原理及分類

1、IO流原理

  • I / O是 Input / Output的縮寫,I/O技術(shù)是非常實(shí)用的技術(shù),用于處理數(shù)據(jù)傳輸,如讀文件、寫文件,網(wǎng)結(jié)通訊等
  • Java程序中,對(duì)于數(shù)據(jù)的輸入/輸出操作以”流(stream)" 的方式進(jìn)行。
  • java.io 包下提供了各種“流”的類和接口,用以獲取不同種類的數(shù)據(jù),并通過方法輸入或輸出數(shù)據(jù)
  • 輸入(input) : 讀取外部數(shù)據(jù)(磁盤、光盤等存儲(chǔ)設(shè)備的數(shù)據(jù))到程序(內(nèi)存)中。
  • 輸出(output): 將程序(內(nèi)存)數(shù)據(jù)輸出到磁盤、 光盤等存儲(chǔ)設(shè)備中
  • 原理示意圖:

2、流的分類

  • 按操作數(shù)據(jù)單位不同分為 : 字節(jié)流(8 bit)二進(jìn)制文件,字符流(按字符)文本文件
  • 按數(shù)據(jù)流的流向不同分為 : 輸入流,輸出流
  • 按流的角色的不同分為 : 節(jié)點(diǎn)流,處理流/包裝流

注意:

1、Java的I0流共涉及40多個(gè)類 實(shí)際上非常規(guī)則 都是從如上4個(gè)抽象基類派生的

2、由這四個(gè)類派生出來的子類名稱都是以其父類名作為子類名后綴

3、IO流體系圖

到此這篇關(guān)于Java文件與IO流操作原理詳細(xì)分析的文章就介紹到這了,更多相關(guān)Java文件與IO流內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中@ConfigurationProperties自動(dòng)獲取配置參數(shù)的流程步驟

    SpringBoot中@ConfigurationProperties自動(dòng)獲取配置參數(shù)的流程步驟

    當(dāng)需要獲取配置文件中很多參數(shù)時(shí),我們可以定義參數(shù)的前綴相同,通過自動(dòng)映射 進(jìn)行獲取配置文件中參數(shù),所以本文給大家介紹了SpringBoot中@ConfigurationProperties自動(dòng)獲取配置參數(shù)的流程步驟,需要的朋友可以參考下
    2024-11-11
  • Spring之詳解bean的實(shí)例化

    Spring之詳解bean的實(shí)例化

    這篇文章主要介紹了Spring之詳解bean的實(shí)例化,文章內(nèi)容詳細(xì),簡(jiǎn)單易懂,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2023-01-01
  • Java獲取時(shí)間如何將當(dāng)前時(shí)間減一天、一月、一年、并格式化

    Java獲取時(shí)間如何將當(dāng)前時(shí)間減一天、一月、一年、并格式化

    這篇文章主要介紹了Java獲取時(shí)間,將當(dāng)前時(shí)間減一天、一月、一年,并加以格式化,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Mybatis使用IN語句查詢的實(shí)現(xiàn)

    Mybatis使用IN語句查詢的實(shí)現(xiàn)

    這篇文章主要介紹了Mybatis使用IN語句查詢的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • ThreadLocal原理介紹及應(yīng)用場(chǎng)景

    ThreadLocal原理介紹及應(yīng)用場(chǎng)景

    本文詳細(xì)講解了ThreadLocal原理介紹及應(yīng)用場(chǎng)景,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 使用DevOps開源利器開發(fā)部署Hygieia平臺(tái)

    使用DevOps開源利器開發(fā)部署Hygieia平臺(tái)

    這篇文章主要為大家介紹了使用DevOps開源利器開發(fā)部署Hygieia平臺(tái)的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職?加薪
    2022-03-03
  • Java鏈表超詳細(xì)講解(通俗易懂,含源碼)

    Java鏈表超詳細(xì)講解(通俗易懂,含源碼)

    鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的引用鏈接次序?qū)崿F(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于Java鏈表超詳細(xì)講解的相關(guān)資料,本文講解的內(nèi)容通俗易懂,含源碼,需要的朋友可以參考下
    2022-09-09
  • Java?JDK內(nèi)置常用接口和深淺拷貝

    Java?JDK內(nèi)置常用接口和深淺拷貝

    這篇文章主要介紹了Java?JDK內(nèi)置常用接口和深淺拷貝,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 簡(jiǎn)單分析Java的求值策略原理

    簡(jiǎn)單分析Java的求值策略原理

    在本篇文章里小編給大家整理的是一篇關(guān)于簡(jiǎn)單分析Java的求值策略原理內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2021-06-06
  • SpringBoot中的文件上傳與下載詳解

    SpringBoot中的文件上傳與下載詳解

    這篇文章主要介紹了SpringBoot中的文件上傳與下載詳解,springboot是spring家族中的一個(gè)全新框架,用來簡(jiǎn)化spring程序的創(chuàng)建和開發(fā)過程,本文我們就一起來看看上傳與下載的操作,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

玉屏| 安溪县| 内丘县| 苍溪县| 宕昌县| 龙海市| 响水县| 宁乡县| 远安县| 绵阳市| 马关县| 桃园县| 黄陵县| 元谋县| 周口市| 佛山市| 克东县| 宁安市| 延长县| 广元市| 邵阳县| 清水河县| 凌源市| 香河县| 富顺县| 无为县| 五峰| 莱西市| 乌恰县| 丹寨县| 洞头县| 彭山县| 台中市| 吴江市| 揭东县| 周宁县| 淳化县| 平陆县| 杨浦区| 黄冈市| 洛隆县|