日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaSE(十七)——IO流之字节流

發布時間:2025/3/13 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaSE(十七)——IO流之字节流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1. 概述
  • 2. FileOutputStream寫出數據
  • 3. FileInputStream讀取數據
  • 4. 字節流復制文本文件
  • 5. 字節流復制MP3
  • 6. 高效的字節輸入輸出流

1. 概述

  • IO流用來處理設備之間的數據傳輸, Java對數據的操作是通過流的方式。
  • IO流的分類:
    (1): 按照流向進行劃分
    輸入流
    輸出流
    (2): 按照操作的數據類型進行劃分
    字節流 :字節輸入流 InputStream (讀) 字節輸出流 OutputStream (寫)
    字符流 :字符輸入流 Reader(讀) 字符輸出流 Writer (寫)

字節流可以讀寫任何類型的文件字符流只能讀寫文本文件
由這四個類派生出來的子類名稱都是以其父類名作為子類名的后綴。
如:InputStream的子類FileInputStream。
如:Reader的子類FileReader。

2. FileOutputStream寫出數據

  • 構造方法
    FileOutputStream(File file)
    FileOutputStream(String name)

  • FileOutputStream的三個write()方法
    public void write(int b):一次寫入一個字節 超過一個字節 砍掉前面的字節
    public void write(byte[] b):一次寫入一個字節數組
    public void write(byte[] b,int off,int len):一次寫入一個字節數組的一部分

  • windows下的換行符只用是 \r\n
    Linux \n
    Mac \r

  • FileOutputStream(File file, boolean append)
    創建一個向指定 File 對象表示的文件中寫入數據的文件輸出流。
    FileOutputStream(String name, boolean append)
    創建一個向具有指定 name 的文件中寫入數據的輸出文件流。

  • 案例代碼

  • 運行結果

3. FileInputStream讀取數據

  • 構造方法
    FileInputStream(File file)
    FileInputStream(String name)
  • FileInputStream的三個read()方法
    public void read(int b):一次讀取一個字節,返回的是這個字節數據,如果讀取不到,返回 -1,可以拿-1 判斷文件是否讀取完
    public void read(byte[] b):一次讀取一個字節數組
    public void read(byte[] b,int off,int len):一次讀取一個字節數組的一部分
  • 案例代碼
  • 運行結果

4. 字節流復制文本文件

  • 采用文件輸入輸入流進行文件的復制,一次讀一個字節寫一個字節來復制一個文本文件。
  • 步驟分析:
    (1)創建字節輸入流對象和字節輸出流對象
    (2)頻繁的讀寫操作
    (3)釋放資源
  • 案例代碼
  • 運行結果

5. 字節流復制MP3

  • 一次讀寫一個字節來復制音樂

  • 案例代碼

  • 運行結果

  • 一次讀寫一個字節數組來復制音樂

  • 案例代碼

  • 運行結果

    可以看出明顯比一次讀取一個字節來復制快得多

6. 高效的字節輸入輸出流

- BufferedInputStream(InputStream in)
創建一個 BufferedInputStream 并保存其參數,即輸入流 in,以便將來使用。
BufferedInputStream(InputStream in, int size)
創建具有指定緩沖區大小的 BufferedInputStream 并保存其參數,即輸入流 in,以便將來使用。
- BufferedOutputStream(OutputStream out)
創建一個新的緩沖輸出流,以將數據寫入指定的底層輸出流

  • 案例代碼

  • 運行結果

總結

以上是生活随笔為你收集整理的JavaSE(十七)——IO流之字节流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。