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

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

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

28、IO(字節(jié)流&字符流)

1. IO概述

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

1.1 什么是IO

生活中,你肯定經(jīng)歷過這樣的場(chǎng)景。當(dāng)你編輯一個(gè)文本文件,忘記了ctrl+s ,可能文件就白白編輯了。當(dāng)你電腦上插入一個(gè)U盤,可以把一個(gè)視頻,拷貝到你的電腦硬盤里。那么數(shù)據(jù)都是在哪些設(shè)備上的呢?鍵盤、內(nèi)存、硬盤、外接設(shè)備等等。

我們把這種數(shù)據(jù)的傳輸,可以看做是一種數(shù)據(jù)的流動(dòng),按照流動(dòng)的方向,以內(nèi)存為基準(zhǔn),分為輸入input輸出output ,即流向內(nèi)存是輸入流,流出內(nèi)存的輸出流。

Java中I/O操作主要是指使用java.io包下的內(nèi)容,進(jìn)行輸入、輸出操作。輸入也叫做讀取數(shù)據(jù),輸出也叫做作寫出數(shù)據(jù)。

1.2 IO的分類

根據(jù)數(shù)據(jù)的流向分為:輸入流輸出流。

  • 輸入流 :把數(shù)據(jù)從其他設(shè)備上讀取到內(nèi)存中的流。
  • 輸出流 :把數(shù)據(jù)從內(nèi)存 中寫出到其他設(shè)備上的流。

格局?jǐn)?shù)據(jù)的類型分為:字節(jié)流字符流

  • 字節(jié)流 :以字節(jié)為單位,讀寫數(shù)據(jù)的流。
  • 字符流 :以字符為單位,讀寫數(shù)據(jù)的流。

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

1.3 IO的流向說明圖解

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

1.4 頂級(jí)父類們

輸入流 輸出流
字節(jié)流 字節(jié)輸入流
InputStream
字節(jié)輸出流
OutputStream
字符流 字符輸入流
Reader
字符輸出流
Writer

2. 字節(jié)流

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】
java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

2.1 一切皆為字節(jié)

一切文件數(shù)據(jù)(文本、圖片、視頻等)在存儲(chǔ)時(shí),都是以二進(jìn)制數(shù)字的形式保存,都一個(gè)一個(gè)的字節(jié),那么傳輸時(shí)一樣如此。所以,字節(jié)流可以傳輸任意文件數(shù)據(jù)。在操作流的時(shí)候,我們要時(shí)刻明確,無論使用什么樣的流對(duì)象,底層傳輸?shù)氖冀K為二進(jìn)制數(shù)據(jù)。

2.2 字節(jié)輸出流【OutputStream】

java.io.OutputStream 抽象類是表示字節(jié)輸出流的所有類的超類,將指定的字節(jié)信息寫出到目的地。它定義了字節(jié)輸出流的基本共性功能方法。

  • public void close() :關(guān)閉此輸出流并釋放與此流相關(guān)聯(lián)的任何系統(tǒng)資源。
  • public void flush() :刷新此輸出流并強(qiáng)制任何緩沖的輸出字節(jié)被寫出。
  • public void write(byte[] b):將 b.length字節(jié)從指定的字節(jié)數(shù)組寫入此輸出流。
  • public void write(byte[] b, int off, int len) :從指定的字節(jié)數(shù)組寫入 len字節(jié),從偏移量 off開始輸出到此輸出流。
  • public abstract void write(int b) :將指定的字節(jié)輸出流。

小貼士:

close方法,當(dāng)完成流的操作時(shí),必須調(diào)用此方法,釋放系統(tǒng)資源。

2.3 FileOutputStream類

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

FileOutputStream原理

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

FileOutputStream書寫細(xì)則

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class ByteStreamDemo2 {
   
    public static void main(String[] args) throws IOException {
   
        /*
            字節(jié)輸出流的細(xì)節(jié):
                    1.創(chuàng)建字節(jié)輸出流對(duì)象
                        細(xì)節(jié)1:參數(shù)字符串表示的路徑或者是File對(duì)象都是可以的
                        細(xì)節(jié)2:如果文件不存在會(huì)創(chuàng)建一個(gè)新的文件,但是要保證父級(jí)路徑是存在的。
                        細(xì)節(jié)3:如果文件已經(jīng)存在,則會(huì)清空文件
                    2.寫數(shù)據(jù)
                        細(xì)節(jié):write方法的參數(shù)是整數(shù),但是實(shí)際上寫到本地文件中的整數(shù)在ASCII上對(duì)應(yīng)的字符
                        97  ---> a
                        100 ---> d
                        '9'
                        '7'
                    3.釋放資源
                        每次使用完流之后都要釋放資源
         */

        //1.創(chuàng)建對(duì)象
        //FileOutputStream fos = new FileOutputStream(new File("day26-myio\\file\\c.txt"));
        FileOutputStream fos = new FileOutputStream("day26-myio\\file\\c.txt");

        //2.寫出數(shù)據(jù)
        fos.write(57);
        fos.write(55);

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

OutputStream有很多子類,我們從最簡(jiǎn)單的一個(gè)子類開始。

java.io.FileOutputStream 類是文件輸出流,用于將數(shù)據(jù)寫出到文件。

構(gòu)造方法

  • public FileOutputStream(File file):創(chuàng)建文件輸出流以寫入由指定的 File對(duì)象表示的文件。
  • public FileOutputStream(String name): 創(chuàng)建文件輸出流以指定的名稱寫入文件。

當(dāng)你創(chuàng)建一個(gè)流對(duì)象時(shí),必須傳入一個(gè)文件路徑。該路徑下,如果沒有這個(gè)文件,會(huì)創(chuàng)建該文件。如果有這個(gè)文件,會(huì)清空這個(gè)文件的數(shù)據(jù)。

  • 構(gòu)造舉例,代碼如下:
public class FileOutputStreamConstructor throws IOException {
   
    public static void main(String[] args) {
   
   	 	// 使用File對(duì)象創(chuàng)建流對(duì)象
        File file = new File("a.txt");
        FileOutputStream fos = new FileOutputStream(file);
      
        // 使用文件名稱創(chuàng)建流對(duì)象
        FileOutputStream fos = new FileOutputStream("b.txt");
    }
}
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class ByteStreamDemo1 {
   
    public static void main(String[] args) throws IOException {
   
        /*
           演示:字節(jié)輸出流FileOutputStream
           實(shí)現(xiàn)需求:寫出一段文字到本地文件中。(暫時(shí)不寫中文)

           實(shí)現(xiàn)步驟:
                 創(chuàng)建對(duì)象
                 寫出數(shù)據(jù)
                 釋放資源
         */

        //1.創(chuàng)建對(duì)象
        //寫出  輸出流  OutputStream
        //本地文件  File
        //FileOutputStream fos = new FileOutputStream("指定文件的路徑");
        FileOutputStream fos = new FileOutputStream("day26-myio\\file\\a.txt");

        //2.寫出數(shù)據(jù)
        fos.write(97);

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

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

FileOutputStream寫數(shù)據(jù)的3種方式

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

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

public class ByteStreamDemo4 {
   
    public static void main(String[] args) throws IOException {
   
        /*
           void write(int b)                       一次寫一個(gè)字節(jié)數(shù)據(jù)
           void write(byte[] b)                    一次寫一個(gè)字節(jié)數(shù)組數(shù)據(jù)
           void write(byte[] b, int off, int len)  一次寫一個(gè)字節(jié)數(shù)組的部分?jǐn)?shù)據(jù)
           參數(shù)一:
                數(shù)組
           參數(shù)二:
                起始索引  0
           參數(shù)三:
                個(gè)數(shù)      3
         */

        //1.創(chuàng)建對(duì)象
        FileOutputStream fos = new FileOutputStream("day26-myio\\file\\d.txt");

        //2.寫出數(shù)據(jù)
        byte[] bytes = {
   97, 98, 99, 100, 101};
        //fos.write(97);//a
        //fos.write(98);//b
        //fos.write(bytes);//abcde
        fos.write(bytes,2,3);

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

    }
}

寫出字節(jié)數(shù)據(jù)

  1. 寫出字節(jié)write(int b) 方法,每次可以寫出一個(gè)字節(jié)數(shù)據(jù),代碼使用演示:
public class FOSWrite {
   
    public static void main(String[] args) throws IOException {
   
        // 使用文件名稱創(chuàng)建流對(duì)象
        FileOutputStream fos = new FileOutputStream("fos.txt");     
      	// 寫出數(shù)據(jù)
      	fos.write(97); // 寫出第1個(gè)字節(jié)
      	fos.write(98); // 寫出第2個(gè)字節(jié)
      	fos.write(99); // 寫出第3個(gè)字節(jié)
      	// 關(guān)閉資源
        fos.close();
    }
}
輸出結(jié)果:
abc

小貼士:

  1. 雖然參數(shù)為int類型四個(gè)字節(jié),但是只會(huì)保留一個(gè)字節(jié)的信息寫出。
  2. 流操作完畢后,必須釋放系統(tǒng)資源,調(diào)用close方法,千萬記得。
  1. 寫出字節(jié)數(shù)組write(byte[] b),每次可以寫出數(shù)組中的數(shù)據(jù),代碼使用演示:
public class FOSWrite {
   
    public static void main(String[] args) throws IOException {
   
        // 使用文件名稱創(chuàng)建流對(duì)象
        FileOutputStream fos = new FileOutputStream("fos.txt");     
      	// 字符串轉(zhuǎn)換為字節(jié)數(shù)組
      	byte[] b = "黑馬程序員".getBytes();
      	// 寫出字節(jié)數(shù)組數(shù)據(jù)
      	fos.write(b);
      	// 關(guān)閉資源
        fos.close();
    }
}
輸出結(jié)果:
黑馬程序員
  1. 寫出指定長(zhǎng)度字節(jié)數(shù)組write(byte[] b, int off, int len) ,每次寫出從off索引開始,len個(gè)字節(jié),代碼使用演示:
public class FOSWrite {
   
    public static void main(String[] args) throws IOException {
   
        // 使用文件名稱創(chuàng)建流對(duì)象
        FileOutputStream fos = new FileOutputStream("fos.txt");     
      	// 字符串轉(zhuǎn)換為字節(jié)數(shù)組
      	byte[] b = "abcde".getBytes();
		// 寫出從索引2開始,2個(gè)字節(jié)。索引2是c,兩個(gè)字節(jié),也就是cd。
        fos.write(b,2,2);
      	// 關(guān)閉資源
        fos.close();
    }
}
輸出結(jié)果:
cd

數(shù)據(jù)追加續(xù)寫

經(jīng)過以上的演示,每次程序運(yùn)行,創(chuàng)建輸出流對(duì)象,都會(huì)清空目標(biāo)文件中的數(shù)據(jù)。如何保留目標(biāo)文件中數(shù)據(jù),還能繼續(xù)添加新數(shù)據(jù)呢?

  • public FileOutputStream(File file, boolean append): 創(chuàng)建文件輸出流以寫入由指定的 File對(duì)象表示的文件。
  • public FileOutputStream(String name, boolean append): 創(chuàng)建文件輸出流以指定的名稱寫入文件。

這兩個(gè)構(gòu)造方法,參數(shù)中都需要傳入一個(gè)boolean類型的值,true 表示追加數(shù)據(jù),false 表示清空原有數(shù)據(jù)。這樣創(chuàng)建的輸出流對(duì)象,就可以指定是否追加續(xù)寫了,代碼使用演示:

public class FOSWrite {
   
    public static void main(String[] args) throws IOException {
   
        // 使用文件名稱創(chuàng)建流對(duì)象
        FileOutputStream fos = new FileOutputStream("fos.txt"true);     
      	// 字符串轉(zhuǎn)換為字節(jié)數(shù)組
      	byte[] b = "abcde".getBytes();
		// 寫出從索引2開始,2個(gè)字節(jié)。索引2是c,兩個(gè)字節(jié),也就是cd。
        fos.write(b);
      	// 關(guān)閉資源
        fos.close();
    }
}
文件操作前:cd
文件操作后:cdabcde

寫出換行

Windows系統(tǒng)里,換行符號(hào)是\r\n 。把

以指定是否追加續(xù)寫了,代碼使用演示:

public class FOSWrite {
   
    public static void main(String[] args) throws IOException {
   
        // 使用文件名稱創(chuàng)建流對(duì)象
        FileOutputStream fos = new FileOutputStream("fos.txt");  
      	// 定義字節(jié)數(shù)組
      	byte[] words = {
   97,98,99,100,101};
      	// 遍歷數(shù)組
        for (int i = 0; i < words.length; i++) {
   
          	// 寫出一個(gè)字節(jié)
            fos.write(words[i]);
          	// 寫出一個(gè)換行, 換行符號(hào)轉(zhuǎn)成數(shù)組寫出
            fos.write("\r\n".getBytes());
        }
      	// 關(guān)閉資源
        fos.close();
    }
}

輸出結(jié)果:
a
b
c
d
e
  • 回車符\r和換行符\n
    • 回車符:回到一行的開頭(return)。
    • 換行符:下一行(newline)。
  • 系統(tǒng)中的換行:
    • Windows系統(tǒng)里,每行結(jié)尾是 回車+換行 ,即\r\n
    • Unix系統(tǒng)里,每行結(jié)尾只有 換行 ,即\n;
    • Mac系統(tǒng)里,每行結(jié)尾是 回車 ,即\r。從 Mac OS X開始與Linux統(tǒng)一。

換行和續(xù)寫

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

public class ByteStreamDemo5 {
   
    public static void main(String[] args) throws IOException {
   
        /*
            換行寫:
                再次寫出一個(gè)換行符就可以了
                windows: \r\n
                Linux:   \n
                Mac:     \r
            細(xì)節(jié):
                在windows操作系統(tǒng)當(dāng)中,java對(duì)回車換行進(jìn)行了優(yōu)化。
                雖然完整的是\r\n,但是我們寫其中一個(gè)\r或者\(yùn)n,
                java也可以實(shí)現(xiàn)換行,因?yàn)閖ava在底層會(huì)補(bǔ)全。
            建議:
                不要省略,還是寫全了。

            續(xù)寫:
                如果想要續(xù)寫,打開續(xù)寫開關(guān)即可
                開關(guān)位置:創(chuàng)建對(duì)象的第二個(gè)參數(shù)
                默認(rèn)false:表示關(guān)閉續(xù)寫,此時(shí)創(chuàng)建對(duì)象會(huì)清空文件
                手動(dòng)傳遞true:表示打開續(xù)寫,此時(shí)創(chuàng)建對(duì)象不會(huì)清空文件
         */

        //1.創(chuàng)建對(duì)象
        FileOutputStream fos = new FileOutputStream("day26-myio\\file\\e.txt", true);

        //2.寫出數(shù)據(jù)
        //libai
        String str1 = "6666\r\n";
        byte[] bytes1 = str1.getBytes();
        System.out.println(Arrays.toString(bytes1));
        fos.write(bytes1);

        //再次寫出一個(gè)換行符就可以了
        String wrap = "\r\n";
        byte[] bytes3 = wrap.getBytes();
        System.out.println(Arrays.toString(bytes3));
        fos.write(bytes3);

        String str2 = "libai";
        byte[] bytes2 = str2.getBytes();
        System.out.println(Arrays.toString(bytes2));
        fos.write(bytes2);

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

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

總結(jié)

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

2.4 字節(jié)輸入流【InputStream】

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

java.io.InputStream 抽象類是表示字節(jié)輸入流的所有類的超類,可以讀取字節(jié)信息到內(nèi)存中。它定義了字節(jié)輸入流的基本共性功能方法。

  • public void close() :關(guān)閉此輸入流并釋放與此流相關(guān)聯(lián)的任何系統(tǒng)資源。
  • public abstract int read(): 從輸入流讀取數(shù)據(jù)的下一個(gè)字節(jié)。
  • public int read(byte[] b): 從輸入流中讀取一些字節(jié)數(shù),并將它們存儲(chǔ)到字節(jié)數(shù)組 b中 。

小貼士:

close方法,當(dāng)完成流的操作時(shí),必須調(diào)用此方法,釋放系統(tǒng)資源。

2.5 FileInputStream類

java.io.FileInputStream 類是文件輸入流,從文件中讀取字節(jié)。

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

字節(jié)輸入流FileInputStream的基本用法

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

public class ByteFileInputStreamDemo1 {
   
    public static void main(String[] args) throws IOException {
   
        /*
         * 演示:字節(jié)輸入流FileInputStream
         * 實(shí)現(xiàn)需求:讀取文件中的數(shù)據(jù)。(暫時(shí)不寫中文)
         *
         * 實(shí)現(xiàn)步驟:
         *       創(chuàng)建對(duì)象
         *       讀取數(shù)據(jù)
         *       釋放資源
         * */

        //1.創(chuàng)建對(duì)象
        FileInputStream fis = new FileInputStream("day26-myio\\file\\d.txt");

        //2.讀取數(shù)據(jù)
        int b1 = fis.read();
        System.out.println("b1 = " + b1);
        System.out.println("b1 = " + (char) b1);

        int b2 = fis.read();
        System.out.println("b2 = " + (char) b2);

        int b3 = fis.read();
        System.out.println("b3 = " + (char) b3);
        
        int b4 = fis.read();
        System.out.println("b4 = " + b4);

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

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】

FileInputStream的書寫細(xì)節(jié)

java基礎(chǔ)入門-19-【IO(字節(jié)流&字符流)】文章來源地址http://www.zghlxwxcb.cn/news/detail-470047.html

FileInputStream的循環(huán)讀取

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

public class ByteFileInputStreamDemo3 {
   
    public static void main(String[] args) throws IOException {
   
        /*
            字節(jié)輸入流循環(huán)讀取
                read :表示讀取數(shù)據(jù),而且是讀取一個(gè)數(shù)據(jù)就移動(dòng)一次指針
         */

        //1.創(chuàng)建對(duì)象
        FileInputStream fis = new FileInputStream("day26-myio\\file\\f.txt"

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

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(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)文章

  • 從零開始學(xué)習(xí) Java:簡(jiǎn)單易懂的入門指南之IO字符流(三十一)

    當(dāng)使用字節(jié)流讀取文本文件時(shí),可能會(huì)有一個(gè)小問題。就是遇到中文字符時(shí),可能不會(huì)顯示完整的字符,那是因?yàn)橐粋€(gè)中文字符可能占用多個(gè)字節(jié)存儲(chǔ)。所以Java提供一些字符流類,以字符為單位讀寫數(shù)據(jù),專門用于處理文本文件。 java.io.Reader 抽象類是表示用于讀取字符流的

    2024年02月08日
    瀏覽(88)
  • Java面試題字節(jié)流字符流

    String 編碼 UTF-8 和 GBK 的區(qū)別 GBK 編碼:是指中國(guó)的中文字符,其實(shí)它包含了簡(jiǎn)體中文與繁體中文字符,另外還有一種字符 “gb2312” ,這種字符僅能存儲(chǔ)簡(jiǎn)體中文字符。 UTF-8 編碼:它是一種全國(guó)家通過的一種編碼,如果你的網(wǎng)站涉及到多個(gè)國(guó)家的語言,那么建議你 選擇 UTF-

    2024年02月02日
    瀏覽(14)
  • java-字符流和字節(jié)流(一)

    java-字符流和字節(jié)流(一)

    File類介紹 它是 文件 和 目錄 路徑名的抽象表示 文件和目錄是可以通過File封裝成對(duì)象的 對(duì)于File而言,其封裝的并不是一個(gè)真正存在的文件,僅僅是一個(gè)路徑名而已。它可以是存在的,也可以是不存在的。將來是要通過具體的操作把這個(gè)路徑的內(nèi)容轉(zhuǎn)換為具體存在的 File類的

    2024年02月07日
    瀏覽(17)
  • java基礎(chǔ)入門-18-【IO(異常&File&綜合案例)】

    java基礎(chǔ)入門-18-【IO(異常&File&綜合案例)】

    異常 :指的是程序在執(zhí)行過程中,出現(xiàn)的非正常的情況,最終會(huì)導(dǎo)致JVM的非正常停止。 在Java等面向?qū)ο蟮木幊陶Z言中,異常本身是一個(gè)類,產(chǎn)生異常就是創(chuàng)建異常對(duì)象并拋出了一個(gè)異常對(duì)象。Java處理異常的方式是中斷處理。 異常指的并不是語法錯(cuò)誤,語法錯(cuò)了,編譯不通過

    2024年02月07日
    瀏覽(34)
  • Java文件字符流和字節(jié)流中的實(shí)戰(zhàn)

    Java文件字符流和字節(jié)流中的實(shí)戰(zhàn)

    文件的分類上一篇文章(文件對(duì)象處理)已經(jīng)和大家講解過了。本章主要文件主要針對(duì)于對(duì)文件內(nèi)容的操作展開講解,文件分為: 文本文件 和 二進(jìn)制文件 ,不同的文件,操作方法也不盡相同。 針對(duì)文本文件,Java提供了一組類——”字符流“,代表類(Reader,Writer)。同樣

    2023年04月22日
    瀏覽(16)
  • 【Java基礎(chǔ)教程】(四十五)IO篇 · 中:轉(zhuǎn)換流、內(nèi)存流和打印流(探索裝飾設(shè)計(jì)模式與PrintStream類的進(jìn)階),文件操作案例實(shí)踐、字符編碼問題~

    【Java基礎(chǔ)教程】(四十五)IO篇 · 中:轉(zhuǎn)換流、內(nèi)存流和打印流(探索裝飾設(shè)計(jì)模式與PrintStream類的進(jìn)階),文件操作案例實(shí)踐、字符編碼問題~

    掌握內(nèi)存操作流、轉(zhuǎn)換流、打印流的使用; 掌握文件復(fù)制操作; 掌握字符的主要編碼類型以及亂碼問題產(chǎn)生的原因; 雖然字節(jié)流與字符流表示兩種不同的數(shù)據(jù)流操作,但是這兩種流彼此間是可以實(shí)現(xiàn)互相轉(zhuǎn)換的,而要實(shí)現(xiàn)這樣的轉(zhuǎn)換可以通過 InputStreamReader 、 OutputStreamWrit

    2024年02月16日
    瀏覽(25)
  • java基礎(chǔ)08-Java中的null和空字符串的區(qū)別是什么?

    null表示一個(gè)變量沒有引用任何對(duì)象,而空字符串表示一個(gè)字符串變量引用了一個(gè)長(zhǎng)度為0的字符串。 null:表示 一個(gè)變量沒有引用任何對(duì)象 。也就是說,這個(gè)變量還 沒有被分配內(nèi)存 。如: 如上,str是一個(gè)String類型的變量,但目前它沒有被引用任何對(duì)象,所以它的值為null。

    2024年01月22日
    瀏覽(25)
  • 字節(jié)流概述,及字節(jié)流寫數(shù)據(jù)的三種方式

    字節(jié)流概述,及字節(jié)流寫數(shù)據(jù)的三種方式

    如果數(shù)據(jù)通過記事本打開,我們還可以讀懂里面的內(nèi)容就使用字符流,否則使用字節(jié)流。如果不知道使用哪種類型的流,就使用字節(jié)流。 創(chuàng)建字節(jié)輸出流的時(shí)候,一共做了三件事情。 調(diào)用系統(tǒng)功能創(chuàng)建了文件 創(chuàng)建了字節(jié)輸出流對(duì)象 讓字節(jié)輸出流對(duì)象指向創(chuàng)建好的文件 寫完

    2024年02月11日
    瀏覽(19)
  • 19、節(jié)流和防抖的區(qū)別以及應(yīng)用場(chǎng)景的理解

    19、節(jié)流和防抖的區(qū)別以及應(yīng)用場(chǎng)景的理解

    節(jié)流和防抖兩者有什么區(qū)別? 節(jié)流和防抖分別用于什么場(chǎng)景? 節(jié)流( throttle )和防抖( debounce )是兩種常用的瀏覽器事件處理方法。 相同點(diǎn): 都是為了減少事件觸發(fā)頻率,優(yōu)化性能。 不同點(diǎn): 節(jié)流是指在一段時(shí)間內(nèi)最多觸發(fā)一次事件,節(jié)流算法會(huì)在特定的時(shí)間間隔內(nèi)判斷是否觸

    2024年02月03日
    瀏覽(18)
  • Swift-19-基礎(chǔ)入門

    Swift-19-基礎(chǔ)入門

    從本章開始大概用10篇左右文章介紹下Swift語言的基本用法。 Objective-C作為一門比較老的語言, 缺少很多現(xiàn)代語言所具備的高級(jí)特性。Swift是目標(biāo)是比C,C++, ObjC更安全可靠,從而減少開發(fā)者對(duì)在應(yīng)用運(yùn)行時(shí)出錯(cuò)的代碼進(jìn)行調(diào)試的時(shí)間成本。本系列課程做為Mac OS應(yīng)用開發(fā)的一個(gè)

    2024年04月27日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包