阿里Java學習路線:階段 1:Java語言基礎-Java語言高階特性:第16章:位元組流與字元流:課時77:位元組流與字元流的區別
位元組流與字元流的區別
現在通過一系列的分析已經可以清楚位元組流與字元流的基本操作了,但是對於這兩類依然是存在有區別的,重點來分析一下輸出的處理操作。在使用OutputStream和Writer輸出的最後發現都使用了close()方法進行了關閉處理。
在使用OutputStream類輸出的時候如果現在沒有使用close()方法關閉輸出流發現內容依然可以實現正常輸出,但是如果在使用Writer的時候沒有使用close()方法關閉輸出流,那麼這個時候內容將無法進行輸出,因為Writer使用到了緩衝區,當使用了close()方法的時候實際上會出現有強制重新整理緩衝區的情況,所以這個時候會將內容進行輸出,如果沒有關閉,那麼將無法進行輸出操作,所以此時如果在不關閉的情況下要想將全部的內容輸出可以使用flush()方法強制清空。
範例:使用Writer並強制性清空
package cn.mldn.demo;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
File file = new File("D:" + File.separator + "hello" + File.separator + "mldn.txt") ;
if(file.getParentFile().exists()) {
file.getParentFile().mkdirs(); // 父目錄必須存在
}
Writer out = new FileWriter(file);
String str = "www.mldn.cn\r\n";
out.write(str);
out.flush(); // 強制性重新整理
}
}
位元組流在進行處理的時候並不會使用到緩衝區,而字元流會使用到緩衝區。另外使用緩衝區的字元流更加適合於進行中文資料的處理,所以在日後的程式開發之中,如果要涉及到包含有中文資訊的輸出一般都會使用字元流處理,但是從咖外一方面來講,位元組流和字元流的基本處理形式是相似的,由於IO很多情況下都是進行資料的傳輸使用(二進位制)所以本次的講解將以位元組流為主。
相關文章
- Java基礎(八)——IO流1_位元組流、字元流Java字元
- java入門(字元流、位元組流)Java字元
- 面試必問的 Java 位元組流與字元流面試Java字元
- 傳智黑馬java基礎學習——day23(位元組流、字元流)Java字元
- Java的位元組流,字元流和緩衝流對比探究Java字元
- Java提高篇(二):IO位元組流、字元流和處理流Java字元
- Java位元組流和字元流,是時候總結一下IO流了Java字元
- java處理流 和節點流(在位元組流和字元流中,又分為處理流和節點流)Java字元
- JavaIO流(一)-位元組輸入流與字元輸入流JavaAI字元
- java學習日記-字元流Java字元
- Java-字元流Java字元
- 位元組流
- Java零基礎學java之IO流--05InputStream位元組輸入流Java
- Java緩衝輸出位元組流BufferedOutputStreamJava
- IO流上:概述、字元流、緩衝區(java基礎)字元Java
- Java高階特性1_流庫_初體驗Java
- Java IO: 其他字元流(下)Java字元
- Java IO流字元流簡介及基本使用Java字元
- java 位元組流檔案複製方法總結Java
- 緩衝位元組流#
- 位元組陣列流陣列
- JS 位元組流 解析JS
- Java基礎14-java進階(5)【IO流】Java
- 流暢的 Python – 3. 文字與位元組Python
- Java位元組流檔案複製及效率比較Java
- Java 字元流檔案讀寫Java字元
- 網路通訊1:位元組流的封裝封裝
- Java8的新特性--並行流與序列流Java並行
- 《Java 高階篇》六:I/O 流Java
- [java]利用IO流中的位元組流和緩衝流寫一個複製資料夾的小程式Java
- IO流的位元組輸入輸出流(InputStream,OutputStream)
- java進階(33)--IO流Java
- Java 函數語言程式設計(三)流(Stream)Java函數程式設計
- JAVA_基礎IO流物件流(三)Java物件
- [Java基礎]Stream流Java
- java基礎學習_io流之FileInputStreamJava
- 面試官:位元組流可以處理一切檔案為什麼還需要字元流呢?面試字元
- Java與C語言的區別?JavaC語言