字節流和字符流區別與適用場景


  • Java 中的字節流處理的最基本單位為 1 個字節,通常用來處理二進制數據。字節流類 InputStream 和 OutputStream 類均為抽象類,代表了基本的輸入字節流和輸出字節流。
  • Java 中的字符流處理的最基本的單元是 Unicode 代碼單元(大小2字節),通常用來處理文本數據。

 

區別:

  • 字節流操作的基本單元是字節;字符流操作的基本單元是字符
  • 字節流默認不使用緩沖區;字符流使用緩沖區
  • 字節流通常用於處理二進制數據,不支持直接讀寫字符;字符流通常用於處理文本數據
  • 在讀寫文件需要對文本內容進行處理:按行處理、比較特定字符的時候一般會選擇字符流;僅僅讀寫文件,不處理內容,一般選擇字節流

 

特征:

  • 以 stream 結尾都是字節流,reader 和 writer 結尾是字符流
  • InputStream 是所有字節輸入流的父類,OutputStream 是所有字節輸出流的父類
  • Reader 是字符輸入流的父類,Writer 是字符輸出流的父類

 

常見的字節流:

  • 文件流:FileOutputStream 和 FileInputStream
  • 緩沖流:BufferedOutputStream 和 BufferedInputStream
  • 對象流:ObjectOutputStream 和 ObjectInputStream

 

常見的字符流:

  • 字節轉字符流:InputStreamReader 和 OutputStreamWriter
  • 緩沖字符流:PrintWriter 和 BufferedReader

 

  

來一道刷了進BAT的面試題?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM