国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java的字符流和字節(jié)流 比較 - garlic - JavaEye技術網站

IO分兩種流

字節(jié)流 InputStream OutputStream

字符流 Reader Writer

他們都是抽象類

具體實現(xiàn)
字節(jié)流 FileInputStream FileOutputStream
字符流 FileReader FileWriter 

       字符流處理的單元為2個字節(jié)的Unicode字符,分別操作字符、字符數組或字符串,而字節(jié)流處理單元為1個字節(jié),操作字節(jié)和字節(jié)數組。所以字符流是由Java虛擬機將字節(jié)轉化為2個字節(jié)的Unicode字符為單位的字符而成的,所以它對多國語言支持性比較好!如果是音頻文件、圖片、歌曲,就用字節(jié)流好點,如果是關系到中文(文本)的,用字符流好點.
     所有文件的儲存是都是字節(jié)(byte)的儲存,在磁盤上保留的并不是文件的字符而是先把字符編碼成字節(jié),再儲存這些字節(jié)到磁盤。在讀取文件(特別是文本文件)時,也是一個字節(jié)一個字節(jié)地讀取以形成字節(jié)序列.
      字節(jié)流可用于任何類型的對象,包括二進制對象,而字符流只能處理字符或者字符串; 2. 字節(jié)流提供了處理任何類型的IO操作的功能,但它不能直接處理Unicode字符,而字符流就可以。

 

字節(jié)流轉換成字符流可以用 InputSteamReader OutputStreamWriter

轉換成BufferdReader BufferedWriter 他們具有緩沖區(qū)

例如:讀取文件 從字節(jié)流輸入到字符流輸入
定義一個字節(jié)流:

Java代碼
  1. FileInputStream fileInputStream = new FileInputStream("d:/text.txt");   
  2. // 定義一個指向D:/TEXT.TXT 的字節(jié)流    
  3.   
  4. InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);    
  5. //字節(jié)流轉換成InputStreamReader    
  6.   
  7. BufferedReader bufferedReader = new BufferedReader(inputSteamReader);    
  8. //InputStreamReader 轉換成帶緩存的bufferedReader   
  9.   
  10. 可以把讀出來的內容賦值給字符    
  11. String ss = new String();    
  12. String s;    
  13. while((s = bufferedReader.readLine())!=null){    
  14.         ss += s;    
  15. }   


例如:寫入文件 從字節(jié)流輸出到字符流輸出

Java代碼
  1. FileOutputStream fileOutputStream = new FileOutputStream("d:/text.txt");   
  2.   
  3. //定義一個指向D:/TEXT.TXT文件   
  4.   
  5. OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);   
  6.   
  7. BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);   
  8.   
  9. bufferedWriter.write(s);   
  10.   
  11. bufferedWriter.close();   
  12. outputStreamWriter.close();   
  13. fileOutputStream.close();   
 




例程:
     #region  將字符串轉化為字節(jié)流

         ///   <summary>
        
///  將字符串轉化為字節(jié)流
        
///   </summary>
        
///   <param name="_Source"> 字串 </param>
        
///   <returns> 字節(jié)流 </returns>

         public   static   byte [] String2Bytes( string  strSource)
        
{
            System.IO.MemoryStream   memoryStream
= new    System.IO.MemoryStream();   
            System.IO.BinaryWriter   binaryWriter
= new    System.IO.BinaryWriter(memoryStream);   
            binaryWriter.Write( strSource );
            
byte []   buffer = memoryStream.GetBuffer();
            
return  buffer;    
        }

        
#endregion

        
        
#region  將字節(jié)流轉化為字符串
        
///   <summary>
        
///  將字節(jié)流轉化為字符串
        
///   </summary>
        
///   <param name="bytData"> 字節(jié)流 </param>
        
///   <returns> 字串 </returns>

         public   static   string  Bytes2String( byte [] bytData)
        
{
            
// 字節(jié)流->字符串   
            System.IO.MemoryStream   memoryStream2  =   new    System.IO.MemoryStream(bytData);   
            System.IO.BinaryReader   binaryReader 
=   new    System.IO.BinaryReader(memoryStream2);   
            
string    s2 = binaryReader.ReadString();   
            
return  s2;
        }

        
#endregion

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java.io 對字節(jié)流和字符流的討論
io流 java 添加bom頭 文件前面添加內容
Java IO的一般使用原則
JAVA 中的IO流
Java指定編碼格式讀寫文件
JAVA文件讀取常用工具類(8種)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服