1. <optgroup id="o3fot"></optgroup>
    <big id="o3fot"></big>
  2. <label id="o3fot"></label>
  3. 教育行業A股IPO第一股(股票代碼 003032)

    全國咨詢/投訴熱線:400-618-4000

    java轉換流有什么用?

    更新時間:2023年01月04日10時46分 來源:傳智教育 瀏覽次數:

    好口碑IT培訓

      在程序開發中,有時會遇到字節流和字符流之間需要進行轉換的可能。在java.io包中提供了兩個類可以將字節流轉換為字符流,它們分別是InputStreamReader和OutputStreamWriter。

      OutputStreamWriter是Writer的子類,能夠將一個字節輸出流轉換成字符輸出流,方便直接寫入字符,而InputStreamReader是Reader的子類,能夠將一個字節輸入流轉換成字符輸入流,方便直接讀取字符。下面通過案例學習如何將字節流轉換為字符流,為了提高讀/寫效率,通過字符緩沖流實現轉換的操作,如文件5-9所示。

      文件5-9 Example09.java

    package com.itheima.example;
    import java.io.*;
    public class Example09 {
        public static void main(String[] args) throws Exception {
            //創建字節輸入流
            FileInputStream input=new FileInputStream("read.txt");
            //將字節輸入流轉換成字符輸入流
            InputStreamReader streamReader=new InputStreamReader(input);
            //賦予字符輸入流對象緩沖區
            BufferedReader bufferReader=new BufferedReader(streamReader);
            //創建字節輸出流
            FileOutputStream output=new FileOutputStream("dest2.txt")
            //將字節輸出流轉換成字符輸出流
            OutputStreamWriter streamWriter=new OutputStreamWriter(output);
            //賦予字符輸出流對象緩沖區
            BufferedWriter bufferWriter=new BufferedWriter(streamWriter);
            String line=null;
            //判斷是否讀到文件末尾
            while ((line=bufferReader.readLine()) !=null) {
                bufferWriter.write(line);        //輸出讀取到的文件
            }
            bufferReader.close();
            bufferWriter.close();
        }
    }

      程序運行結束后,按F5鍵刷新chapter05項目后打開dest2.txt文件,執行結果如圖5-5所示。

    dest2

      圖5-15 dest2.txt

      在文件5-9中,實現了字節流和字符流之間的轉換,將字節流轉換為字符流,從而實現直接對字符的讀/寫。需要注意的是,在使用轉換流時,只能針對操作文本文件的字節流進行轉換,如果字節流操作的是圖片或者音頻,此時轉換為字符流就會造成數據丟失。

    0 分享到: