国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java 基礎(chǔ)】File & IO流

這篇具有很好參考價(jià)值的文章主要介紹了【Java 基礎(chǔ)】File & IO流。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


1. File

java.io.File類(lèi)是文件和目錄路徑名的抽象表示形式,主要用于文件和目錄的創(chuàng)建、查找和刪除等操作。

1.1 File類(lèi)概述和構(gòu)造方法

File:它是文件和目錄路徑名的抽象表示

  • 文件和目錄可以通過(guò)File封裝成對(duì)象
  • File封裝的對(duì)象僅僅是一個(gè)路徑名。它可以是存在的,也可以是不存在的。
    | 方法名 | 說(shuō)明 |
    | — | — |
    | File(String pathname) | 通過(guò)將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來(lái)創(chuàng)建新的 File實(shí)例 |
    | File(String parent, String child) | 從父路徑名字符串和子路徑名字符串創(chuàng)建新的 File實(shí)例 |
    | File(File parent, String child) | 從父抽象路徑名和子路徑名字符串創(chuàng)建新的 File實(shí)例 |

注意:父路徑必須是一個(gè)目錄路徑

1.2 絕對(duì)路徑和相對(duì)路徑

  1. 絕對(duì)路徑:從盤(pán)符開(kāi)始
File file1 = new File(D:\\snow\\a.txt”); 
  1. 相對(duì)路徑:相對(duì)當(dāng)前項(xiàng)目下的路徑
File file2 = new File(“a.txt”);
File file3 = new File(“模塊名\\a.txt”); 

1.3 File 類(lèi)的常用方法

創(chuàng)建和刪除

方法名 說(shuō)明
public boolean createNewFile() 創(chuàng)建一個(gè)新的空的文件
public boolean mkdir() 創(chuàng)建一個(gè)單級(jí)文件夾
public boolean mkdirs() 創(chuàng)建一個(gè)多級(jí)文件夾
public boolean delete() 刪除由此抽象路徑名表示的文件或目錄

刪除目錄時(shí)的注意事項(xiàng):

  1. delete方法直接刪除不走回收站。
  2. 如果刪除的是一個(gè)文件,直接刪除。
  3. 如果刪除的是一個(gè)文件夾,需要先刪除文件夾中的內(nèi)容,最后才能刪除文件夾。

File類(lèi)判斷和獲取功能

方法名 說(shuō)明
public boolean isDirectory() 測(cè)試此抽象路徑名表示的File是否為目錄
public boolean isFile() 測(cè)試此抽象路徑名表示的File是否為文件
public boolean exists() 測(cè)試此抽象路徑名表示的File是否存在
public String getAbsolutePath() 返回此抽象路徑名的絕對(duì)路徑名字符串
public String getPath() 將此抽象路徑名轉(zhuǎn)換為路徑名字符串(File對(duì)象給定的路徑)
public String getName() 返回由此抽象路徑名表示的文件或目錄的名稱(chēng)

File類(lèi)高級(jí)獲取功能

//	返回此抽象路徑名表示的目錄中的文件和目錄的File對(duì)象數(shù)組
public File[] listFiles();

listFiles方法注意事項(xiàng):

  • 當(dāng)調(diào)用者不存在時(shí),返回null
  • 當(dāng)調(diào)用者是一個(gè)文件時(shí),返回null
  • 當(dāng)調(diào)用者是一個(gè)空文件夾時(shí),返回一個(gè)長(zhǎng)度為0的數(shù)組
  • 當(dāng)調(diào)用者是一個(gè)有內(nèi)容的文件夾時(shí),將里面所有文件和文件夾的路徑放在File數(shù)組中返回
  • 當(dāng)調(diào)用者是一個(gè)有隱藏文件的文件夾時(shí),將里面所有文件和文件夾的路徑放在File數(shù)組中返回,包含隱藏內(nèi)容

1.4 遞歸刪除文件夾及其下面的文件

public static void main(String[] args) {
    File f = new File("D:\\aaa");
    deleteFiles(f);
}

private static void deleteFiles(File f) {

    File[] files = f.listFiles();

    for (File file : files) {
        if (file.isDirectory()) {
            // 遞歸
            deleteFiles(file);
        } else {
            // 刪除文件
            file.delete();
        }
    }
    // 刪除當(dāng)前文件夾
    f.delete();
}

2. IO

I 表示intput ,是數(shù)據(jù)從硬盤(pán)進(jìn)內(nèi)存的過(guò)程,稱(chēng)之為讀數(shù)據(jù)。
O 表示output ,是數(shù)據(jù)從內(nèi)存到硬盤(pán)的過(guò)程。稱(chēng)之為寫(xiě)數(shù)據(jù)。

在數(shù)據(jù)傳輸?shù)倪^(guò)程中,是誰(shuí)在讀?是誰(shuí)在寫(xiě)?這個(gè)參照物是誰(shuí)?
IO的數(shù)據(jù)傳輸,可以看做是一種數(shù)據(jù)的流動(dòng),按照流動(dòng)的方向,以?xún)?nèi)存為參照物,進(jìn)行讀寫(xiě)操作。
簡(jiǎn)單來(lái)說(shuō):內(nèi)存在讀,內(nèi)存在寫(xiě)。

圖示

2.1 分類(lèi)

分類(lèi)

2.2 字節(jié)輸出流

OutputStream有很多子類(lèi),我們從最簡(jiǎn)單的一個(gè)子類(lèi)開(kāi)始。
java.io.FileOutputStream類(lèi)是文件輸出流,用于將數(shù)據(jù)寫(xiě)出到文件:
構(gòu)造方法:

  • public FileOutputStream(File file):創(chuàng)建文件輸出流以寫(xiě)入由指定的 File對(duì)象表示的文件。
  • public FileOutputStream(String name): 創(chuàng)建文件輸出流以指定的名稱(chēng)寫(xiě)入文件。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
    字節(jié)輸出流寫(xiě)數(shù)據(jù)快速入門(mén) :
        1 創(chuàng)建字節(jié)輸出流對(duì)象。
        2 寫(xiě)數(shù)據(jù)
        3 釋放資源
 */
public class OutputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        // 創(chuàng)建字節(jié)輸出流對(duì)象
        // 如果指定的文件不存在 , 會(huì)自動(dòng)創(chuàng)建文件
        // 如果文件存在 , 會(huì)把文件中的內(nèi)容清空
        FileOutputStream fos = new FileOutputStream("test\\a.txt");

        // 寫(xiě)數(shù)據(jù)
        // 寫(xiě)到文件中就是以字節(jié)形式存在的
        // 只是文件幫我們把字節(jié)翻譯成了對(duì)應(yīng)的字符 , 方便查看
        fos.write(97);
        fos.write(98);
        fos.write(99);

        // 釋放資源
        // while(true){}
        // 斷開(kāi)流與文件中間的關(guān)系
        fos.close();
    }
}

字節(jié)流寫(xiě)數(shù)據(jù)的3種方式

方法名 說(shuō)明
void write(int b) 一次寫(xiě)一個(gè)字節(jié)數(shù)據(jù)
void write(byte[] b) 一次寫(xiě)一個(gè)字節(jié)數(shù)組數(shù)據(jù)
void write(byte[] b, int off, int len) 一次寫(xiě)一個(gè)字節(jié)數(shù)組的部分?jǐn)?shù)據(jù)
public class OutputStreamDemo2 {
    public static void main(String[] args) throws IOException {
        // 創(chuàng)建字節(jié)輸出流對(duì)象
        FileOutputStream fos = new FileOutputStream("test\\a.txt");

        // 寫(xiě)數(shù)據(jù)
//        1 void write(int b)	一次寫(xiě)一個(gè)字節(jié)數(shù)據(jù)
        fos.write(97);
        fos.write(98);
        fos.write(99);

//        2 void write(byte[] b)	一次寫(xiě)一個(gè)字節(jié)數(shù)組數(shù)據(jù)
        byte[] bys = {65, 66, 67, 68, 69};
        fos.write(bys);

//        3 void write(byte[] b, int off, int len)	一次寫(xiě)一個(gè)字節(jié)數(shù)組的部分?jǐn)?shù)據(jù)
        fos.write(bys, 0, 3);

        // 釋放資源
        fos.close();
    }
}

字節(jié)流寫(xiě)數(shù)據(jù)的換行和追加寫(xiě)入
字節(jié)流寫(xiě)數(shù)據(jù)如何實(shí)現(xiàn)換行呢?
寫(xiě)完數(shù)據(jù)后,加換行符
windows : \r\n
linux : \n
mac : \r

字節(jié)流寫(xiě)數(shù)據(jù)如何實(shí)現(xiàn)追加寫(xiě)入呢?

public FileOutputStream(String name,boolean append)

創(chuàng)建文件輸出流以指定的名稱(chēng)寫(xiě)入文件。如果第二個(gè)參數(shù)為true ,不會(huì)清空文件里面的內(nèi)容。

2.3 字節(jié)輸入流

InputStream
FileInputStream extends InputStream
FileInputStream 構(gòu)造方法

  • public FileInputStream(File file) : 從file類(lèi)型的路徑中讀取數(shù)據(jù)
  • public FileInputStream(String name) : 從字符串路徑中讀取數(shù)據(jù)
import java.io.FileInputStream;
import java.io.IOException;

/*
    字節(jié)輸入流寫(xiě)數(shù)據(jù)快速入門(mén) : 一次讀一個(gè)字節(jié)
            第一部分 : 字節(jié)輸入流類(lèi)
                InputStream類(lèi) : 字節(jié)輸入流最頂層的類(lèi) , 抽象類(lèi)
                --- FileInputStream類(lèi) : FileInputStream extends InputStream
            第二部分 : 構(gòu)造方法
                public FileInputStream(File file) :  從file類(lèi)型的路徑中讀取數(shù)據(jù)
                public FileInputStream(String name) : 從字符串路徑中讀取數(shù)據(jù)
            第三部分 : 字節(jié)輸入流步驟
                1 創(chuàng)建輸入流對(duì)象
                2 讀數(shù)據(jù)
                3 釋放資源
 */
public class FileInputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        // 創(chuàng)建字節(jié)輸入流對(duì)象
        // 讀取的文件必須存在 , 不存在則報(bào)錯(cuò)
        FileInputStream fis = new FileInputStream("day11_demo\\a.txt");

        // 讀數(shù)據(jù) , 從文件中讀到一個(gè)字節(jié)
        // 返回的是一個(gè)int類(lèi)型的字節(jié)
        // 如果想看字符, 需要強(qiáng)轉(zhuǎn)
        int by = fis.read();
        System.out.println((char) by);

        // 釋放資源
        fis.close();
    }
}

字節(jié)輸入流 讀多個(gè)字節(jié)

import java.io.FileInputStream;
import java.io.IOException;

/*
    字節(jié)輸入流寫(xiě)數(shù)據(jù)快速入門(mén) : 讀多個(gè)字節(jié)
            第一部分 : 字節(jié)輸入流類(lèi)
                InputStream類(lèi) : 字節(jié)輸入流最頂層的類(lèi) , 抽象類(lèi)
                --- FileInputStream類(lèi) : FileInputStream extends InputStream
            第二部分 : 構(gòu)造方法
                public FileInputStream(File file) :  從file類(lèi)型的路徑中讀取數(shù)據(jù)
                public FileInputStream(String name) : 從字符串路徑中讀取數(shù)據(jù)
            第三部分 : 字節(jié)輸入流步驟
                1 創(chuàng)建輸入流對(duì)象
                2 讀數(shù)據(jù)
                3 釋放資源
 */
public class FileInputStreamDemo2 {
    public static void main(String[] args) throws IOException {
        // 創(chuàng)建字節(jié)輸入流對(duì)象
        // 讀取的文件必須存在 , 不存在則報(bào)錯(cuò)
        FileInputStream fis = new FileInputStream("day11_demo\\a.txt");

        // 讀數(shù)據(jù) , 從文件中讀到一個(gè)字節(jié)
        // 返回的是一個(gè)int類(lèi)型的字節(jié)
        // 如果想看字符, 需要強(qiáng)轉(zhuǎn)

        // 循環(huán)改進(jìn)
        int by;// 記錄每次讀到的字節(jié)
        while ((by = fis.read()) != -1) {
            System.out.print((char) by);
        }

        // 釋放資源
        fis.close();
    }
}

2.4 文件的拷貝

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
    需求 : 把 "圖片路徑\xxx.jpg" 復(fù)制到當(dāng)前模塊下

    分析:
        復(fù)制文件,其實(shí)就把文件的內(nèi)容從一個(gè)文件中讀取出來(lái)(數(shù)據(jù)源),然后寫(xiě)入到另一個(gè)文件中(目的地)
        數(shù)據(jù)源:
            xxx.jpg  --- 讀數(shù)據(jù) --- FileInputStream
        目的地:
            模塊名稱(chēng)\copy.jpg --- 寫(xiě)數(shù)據(jù) --- FileOutputStream

 */
public class CopyFile2 {
    public static void main(String[] args) throws IOException {
        // 創(chuàng)建字節(jié)輸入流對(duì)象
        FileInputStream fis = new FileInputStream("D:\\安裝包\\好看的圖片\\liqin.jpg");

        // 創(chuàng)建字節(jié)輸出流
        FileOutputStream fos = new FileOutputStream("day11_demo\\copy.jpg");

        // 一次讀寫(xiě)一個(gè)字節(jié)
        int by;
        while ((by = fis.read()) != -1) {
            fos.write(by);
        }

        // 釋放資源
        fis.close();
        fos.close();
    }
}

2.5 文件拷貝效率優(yōu)化

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
    需求 : 對(duì)復(fù)制圖片的代碼進(jìn)行使用一次讀寫(xiě)一個(gè)字節(jié)數(shù)組的方式進(jìn)行改進(jìn)

    FileInputStream類(lèi) :
        public int read(byte[] b):
        1 從輸入流讀取最多b.length個(gè)字節(jié)的數(shù)據(jù)
        2 返回的是真實(shí)讀到的數(shù)據(jù)個(gè)數(shù)
 */
public class FileInputStreamDemo7 {
    public static void main(String[] args) throws IOException {
        // 創(chuàng)建字節(jié)輸入流對(duì)象
        FileInputStream fis = new FileInputStream("D:\\好看的圖片\\liqin.jpg");
        // 創(chuàng)建字節(jié)輸出流
        FileOutputStream fos = new FileOutputStream("day11_demo\\copy.jpg");

        byte[] bys = new byte[1024];
        int len;// 每次真實(shí)讀到數(shù)據(jù)的個(gè)數(shù)
        //int by;//好像沒(méi)用上啊
        while ((len = fis.read(bys)) != -1) {
            fos.write(bys, 0, len);
        }

        // 釋放資源
        fis.close();
        fos.close();
    }
}

2.6 釋放資源

JDK7版本優(yōu)化處理方式 : 自動(dòng)釋放資源

JDK7優(yōu)化后可以使用 try-with-resource 語(yǔ)句 , 該語(yǔ)句確保了每個(gè)資源在語(yǔ)句結(jié)束時(shí)自動(dòng)關(guān)閉。簡(jiǎn)單理解 : 使用此語(yǔ)句,會(huì)自動(dòng)釋放資源 , 不需要自己在寫(xiě)finally代碼塊了

格式 :  
try (創(chuàng)建流對(duì)象語(yǔ)句1 ; 創(chuàng)建流對(duì)象語(yǔ)句2 ...) {
        // 讀寫(xiě)數(shù)據(jù)
} catch (IOException e) {
        處理異常的代碼...
}

舉例 :
try ( 
    FileInputStream fis1 = new FileInputStream("day11_demo\\a.txt") ; 
    FileInputStream fis2 = new FileInputStream("day11_demo\\b.txt") ) 
{
    // 讀寫(xiě)數(shù)據(jù)
} catch (IOException e) {
    處理異常的代碼...
}

代碼實(shí)踐

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*
    JDK7版本優(yōu)化處理方式

    需求 : 對(duì)上一個(gè)賦值圖片的代碼進(jìn)行使用捕獲方式處理
 */
public class FileInputStreamDemo5 {
    public static void main(String[] args) {
        try (
                // 創(chuàng)建字節(jié)輸入流對(duì)象
                FileInputStream fis = new FileInputStream("D:\\圖片\\liqin.jpg");
                // 創(chuàng)建字節(jié)輸出流
                FileOutputStream fos = new FileOutputStream("day11_demo\\copy.jpg")
        ) {
            // 一次讀寫(xiě)一個(gè)字節(jié)
            int by;
            while ((by = fis.read()) != -1) {
                fos.write(by);
            }
            //  釋放資源 , 發(fā)現(xiàn)已經(jīng)灰色 , 提示多余的代碼 
            //	所以使用 try-with-resource 方式會(huì)自動(dòng)關(guān)流
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意:自動(dòng)釋放的資源是實(shí)現(xiàn)了 AutoCloseable 接口的才可以。

2.7 緩沖流

字節(jié)緩沖流:

  • BufferOutputStream:緩沖輸出流
  • BufferedInputStream:緩沖輸入流

構(gòu)造方法:

  • 字節(jié)緩沖輸出流:BufferedOutputStream(OutputStream out)
  • 字節(jié)緩沖輸入流:BufferedInputStream(InputStream in)

copy 文件實(shí)操

copyFile2("D:\\work\\test\\file_io\\xian.jpg",
                "D:\\work\\test\\file_io\\xian2.jpg");

static void copyFile2(String fileUrl1, String fileUrl2){
    try(
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileUrl1));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fileUrl2))
    ){
        byte[] readArray = new byte[1024];
        //  每次真實(shí)讀到數(shù)據(jù)的個(gè)數(shù)
        int len;
        while((len = bis.read(readArray)) != -1){
            bos.write(readArray, 0 ,len);
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
        throw new RuntimeException("文件未找到!");
    } catch (IOException e) {
        e.printStackTrace();
        throw new RuntimeException("異常啦!");
    }

}

2.8 編碼表

  • 計(jì)算機(jī)中儲(chǔ)存的信息都是用二進(jìn)制數(shù)據(jù)表示的;我們?cè)谄聊簧峡吹降挠⑽?、漢字等字符是二進(jìn)制數(shù)轉(zhuǎn)換之后的結(jié)果
  • 按照編碼表規(guī)則,將字符存儲(chǔ)到計(jì)算機(jī)中,稱(chēng)為編碼。
  • 按照同樣的編碼表規(guī)則,將存儲(chǔ)在計(jì)算機(jī)中的二進(jìn)制數(shù)據(jù)解析顯示出來(lái),稱(chēng)為解碼
  • 編碼和解碼使用的碼表必須一致,否則會(huì)導(dǎo)致亂碼。

常見(jiàn)編碼表:

  1. ASCII碼表:ASCII(American Standard Code for Information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)碼表):

包括了數(shù)字字符,英文大小寫(xiě)字符和一些常見(jiàn)的標(biāo)點(diǎn)符號(hào)字符。

注意:ASCII碼表中是沒(méi)有中文的。

  1. GBK:window系統(tǒng)默認(rèn)的碼表。兼容ASCII碼表,也包含了21003個(gè)漢字,并支持繁體漢字以及部分日韓文字。

注意:GBK是中國(guó)的碼表,一個(gè)中文以兩個(gè)字節(jié)的形式存儲(chǔ)。但不包含世界上所有國(guó)家的文字。

【Java 基礎(chǔ)】File & IO流

  1. Unicode碼表:

由國(guó)際組織ISO 制定,是統(tǒng)一的萬(wàn)國(guó)碼表,計(jì)算機(jī)科學(xué)領(lǐng)域里的一項(xiàng)業(yè)界標(biāo)準(zhǔn),容納世界上大多數(shù)國(guó)家的所有常見(jiàn)文字和符號(hào)。
但是因?yàn)楸硎镜淖址?,所以Unicode碼表中的數(shù)字不是直接以二進(jìn)制的形式存儲(chǔ)到計(jì)算機(jī)的,會(huì)先通過(guò)UTF-7,UTF-7.5,UTF-8,UTF-16,以及 UTF-32的編碼方式再存儲(chǔ)到計(jì)算機(jī),其中最為常見(jiàn)的就是UTF-8。

注意: Unicode是萬(wàn)國(guó)碼表,以UTF-8編碼后一個(gè)中文以三個(gè)字節(jié)的形式存儲(chǔ)。

圖示

3. commons-io 工具包

3.1 API

org.apache.commons.io.IOUtils類(lèi)

public static int copy(InputStream in, OutputStream out):
//把input輸入流中的內(nèi)容拷貝到output輸出流中,返回拷貝的字節(jié)個(gè)數(shù)(適合文件大小為2GB以下)
    
public static long copyLarge(InputStream in, OutputStream out):
//把input輸入流中的內(nèi)容拷貝到output輸出流中,返回拷貝的字節(jié)個(gè)數(shù)(適合文件大小為2GB以上)

org.apache.commons.io.FileUtils

public static void copyFileToDirectory(final File srcFile, final File destFile): 
	復(fù)制文件到另外一個(gè)目錄下。
public static void copyDirectoryToDirectory(File src , File dest ):
	復(fù)制src目錄到dest位置。

【Java 基礎(chǔ)】File & IO流文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-448181.html

到了這里,關(guān)于【Java 基礎(chǔ)】File & IO流的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 上傳文件提示java.io.IOException: java.io.FileNotFoundException:(系統(tǒng)找不到指定的路徑。)

    上傳文件提示java.io.IOException: java.io.FileNotFoundException:(系統(tǒng)找不到指定的路徑。)

    關(guān)鍵信息: java.io.IOException: java.io.FileNotFoundException: C:UsersbrendonAppDataLocalTemptomcat.6510816303036534023.8099workTomcatlocalhostROOTinvoiceoriginalfile2023-02-1373432e18330dec9a05af2e74d068bfba83e0a88d.pdf (系統(tǒng)找不到指定的路徑。) Caused by: java.io.FileNotFoundException: C:UsersbrendonAppDataLocalTemptomcat

    2024年02月12日
    瀏覽(26)
  • JAVA基礎(chǔ)學(xué)習(xí)筆記-day15-File類(lèi)與IO流

    JAVA基礎(chǔ)學(xué)習(xí)筆記-day15-File類(lèi)與IO流

    博文主要是自己學(xué)習(xí)JAVA基礎(chǔ)中的筆記,供自己以后復(fù)習(xí)使用,參考的主要教程是B站的 尚硅谷宋紅康2023大數(shù)據(jù)教程 老驥伏櫪,志在千里 --曹操《龜雖壽》 1.1 概述 File類(lèi)及本章下的各種流,都定義在 java.io 包下。 一個(gè)File對(duì)象代表硬盤(pán)或網(wǎng)絡(luò)中可能存在的一個(gè)文件或者文件目

    2024年01月21日
    瀏覽(22)
  • Java eight 解讀流(Stream)、文件(File)、IO和異常處理的使用方法

    Java eight 解讀流(Stream)、文件(File)、IO和異常處理的使用方法

    java.io 包幾乎包含了所有操作輸入、輸出需要的類(lèi)。所有這些流類(lèi)代表了輸入源和輸出目標(biāo)。 Java.io 包中的流支持很多種格式,比如:基本類(lèi)型、對(duì)象、本地化字符集等等。 一個(gè)流可以理解為一個(gè)數(shù)據(jù)的序列。輸入流表示從一個(gè)源讀取數(shù)據(jù),輸出流表示向一個(gè)目標(biāo)寫(xiě)數(shù)據(jù)。

    2024年02月11日
    瀏覽(26)
  • Java File類(lèi)和IO流

    Java File類(lèi)和IO流

    目錄 1. File類(lèi) 1.1 File對(duì)象創(chuàng)建 1.2 File判斷和獲取方法 1.3 創(chuàng)建和刪除方法 1.4 遍歷文件夾 2. 字符集 2.1?ASCII字符集 2.2 GBK字符集 2.3 Unicode字符集 2.4 UTF-8 2.5 字符集小結(jié) 2.6 編碼和解碼 3. IO流(字節(jié)流) 3.1 IO流概述 3.2 FileInputStream 3.3 FileOutputStream? 3.4 FileReader 3.5 FileWriter 3.6 緩沖流

    2024年02月09日
    瀏覽(20)
  • 【創(chuàng)作贏(yíng)紅包】| 【Linux】 基礎(chǔ)IO——自己實(shí)現(xiàn)文件接口FILE

    【創(chuàng)作贏(yíng)紅包】| 【Linux】 基礎(chǔ)IO——自己實(shí)現(xiàn)文件接口FILE

    模仿C庫(kù),自己封裝一個(gè)最簡(jiǎn)單的文件接口 FILE 創(chuàng)建makefile 創(chuàng)建MY_FILE結(jié)構(gòu)體 內(nèi)部包含文件描述符fd,輸出緩沖區(qū)ou’tputbuffer 、flags刷新方法 分別通過(guò)C庫(kù)中fopen 、fwrite、fclose 接口的實(shí)現(xiàn),設(shè)計(jì)屬于自己的接口 1. MY_fopen的實(shí)現(xiàn) 1.識(shí)別標(biāo)志位 分別實(shí)現(xiàn)了讀、寫(xiě)追加方式 2. 嘗試打開(kāi)

    2024年02月02日
    瀏覽(22)
  • 【Java基礎(chǔ)教程】(四十四)IO篇 · 上:File類(lèi)、字節(jié)流與字符流,分析字節(jié)輸出流、字節(jié)輸入流、字符輸出流和字符輸入流的區(qū)別~

    【Java基礎(chǔ)教程】(四十四)IO篇 · 上:File類(lèi)、字節(jié)流與字符流,分析字節(jié)輸出流、字節(jié)輸入流、字符輸出流和字符輸入流的區(qū)別~

    掌握 java.io包中類(lèi)的繼承關(guān)系 ; 掌握 File類(lèi)的使用,并且可以通過(guò)File類(lèi)進(jìn)行文件的創(chuàng)建、刪除以及文件夾的列表等操作; 掌握字節(jié)流或字符流操作文件內(nèi)容,字節(jié)流與字符流的區(qū)別; 在 java.io 包中,如果要進(jìn)行文件自身的操作 (例如:創(chuàng)建、刪除等), 只能依靠 java.io.File 類(lèi)完

    2024年02月15日
    瀏覽(29)
  • 7.0、Java_IO流 - File 類(lèi)的基本使用

    File類(lèi)的作用: ? ? ? ? File 類(lèi)是 Java 提供的針對(duì)磁盤(pán)中的 文件 或 目錄? 轉(zhuǎn)換為對(duì)象的包裝類(lèi);一個(gè)File 對(duì)象可以代表一個(gè) 文件 或者 目錄 ,F(xiàn)ile 對(duì)象可以實(shí)現(xiàn)獲取文件和目錄屬性等功能,可以實(shí)現(xiàn)對(duì)文件和目錄的創(chuàng)建、刪除等功能; ????????我的個(gè)人理解就是 File 類(lèi)已

    2024年02月11日
    瀏覽(22)
  • Java基礎(chǔ)--->IO流(1)【IO基礎(chǔ)】

    Java中的IO是一種用于讀寫(xiě)文件、網(wǎng)絡(luò)連接數(shù)據(jù)等功能的I/O(輸入/輸出)系統(tǒng)。它主要由java.io包提供,并且功能豐富,支持各種文件格式和網(wǎng)絡(luò)協(xié)議。 在Java中,可以使用字節(jié)流和字符流來(lái)讀寫(xiě)數(shù)據(jù)。字節(jié)流以字節(jié)為單位讀寫(xiě)數(shù)據(jù),而字符流以字符為單位讀寫(xiě)數(shù)據(jù),并且支持

    2024年02月06日
    瀏覽(24)
  • Java基礎(chǔ)--->IO流(2)【常見(jiàn)IO模型】

    Java基礎(chǔ)--->IO流(2)【常見(jiàn)IO模型】

    根據(jù)馮.諾依曼結(jié)構(gòu),計(jì)算機(jī)結(jié)構(gòu)分為 5 大部分:運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備。 從計(jì)算機(jī)結(jié)構(gòu)的視角來(lái)看的話(huà), I/O 描述了計(jì)算機(jī)系統(tǒng)與外部設(shè)備之間通信的過(guò)程。 IO (Input/Output) 通常是指計(jì)算機(jī)與外部設(shè)備之間的數(shù)據(jù)交換過(guò)程。輸入設(shè)備(如鍵盤(pán)、鼠標(biāo)、

    2024年02月06日
    瀏覽(17)
  • Java IO教程- Java文件

    我們可以從中創(chuàng)建一個(gè) ?File? 對(duì)象 路徑名 父路徑名和子路徑名 URI(統(tǒng)一資源標(biāo)識(shí)符) 我們可以使用File類(lèi)的以下構(gòu)造函數(shù)之一創(chuàng)建一個(gè)文件: 如果我們有一個(gè)文件路徑名字符串test.txt,我們可以創(chuàng)建一個(gè)抽象路徑名作為下面的代碼。 名為test.txt的文件不必存在,以使用此語(yǔ)

    2024年02月05日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包