2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

字節流與字符流之間如何實現轉換?

更新時間:2022-06-15 來源:黑馬程序員 瀏覽量:

IT培訓班

I/O流可分為字節流和字符流,有時字節流和字符流之間也需要進行轉換。在JDK中,提供了兩個類用于實現將字節流轉換為字符流,它們分別是InputStreamReader和OutputStream Writer。InputStreamReader 是Reader的子類,它可以將一個字節輸入流轉換成字符輸入流,方便直接讀取字符。OutputStreamWriter是Writer的子類,它可以將一個字節輸出流轉換成字符輸出流,方便直接寫入字符。通過轉換流進行數據讀寫的過程如圖。

1655288499725_字節流.png

接下來通過一個案例來學習如何將字節流轉為字符流,為了提高讀寫效率,可以通過BufferedReader和BufferedWriter來實現轉換工作,具體代碼如下。

Examplel1.java

import java.io.*;
public class Examplell {
   public static void main (String[] args) throws Exception {
      //1.創建字節輸人流對象,獲取源文件
      FileInputStream in =new FileInputStream("reader.txt");
      //將字節輸入流對象轉換成字符輸入流對象
      InputStreamReader isr=new InputStreamReader (in);
      //創建字符輸入緩沖流對象
      BufferedReader br =new BufferedReader (isr);
      //2.創建字節輸出流對象,指定目標文件
      FileOutputStream out =new FileOutputStream("writer.txt");
      //將字節輸出流對象轉換成字符輸出流對象
      OutputStreamWriter osw =new OutputStreamWriter (out);
      //創建字符輸出緩沖流對象
      BufferedWriter bw=new BufferedWriter(osw);
      //定義一個字符串變量
      String line =null;
      //通過循環判斷是否讀到文件末尾
      while ((line =br.readLine()) !=null) {
          //輸出讀取到的文件
          bw.write(line);
          bw.newLine();
      }
      //關閉流
      br.close();
      bw.close();
   }
}

程序運行結束后,同樣會將源文件“reader.txt“中的內容拷員到目標文件“writer.1xt”中,結果如圖所示。

1655288566033_好好學習天天向上.jpg

分享到:
在線咨詢 我要報名
和我們在線交談!