摘要:是字節(jié)流通向字符流的橋梁它使用指定的讀取字節(jié)并將其解碼為字符。解碼把看不懂的變成能看懂的繼承自父類的共性成員方法讀取單個字符并返回。一次讀取多個字符將字符讀入數(shù)組。關(guān)閉該流并釋放與之關(guān)聯(lián)的所有資源。構(gòu)造方法創(chuàng)建一個使用默認字符集的。
package com.itheima.demo03.ReverseStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/*
java.io.InputStreamReader extends Reader InputStreamReader:是字節(jié)流通向字符流的橋梁:它使用指定的 charset 讀取字節(jié)并將其解碼為字符。(解碼:把看不懂的變成能看懂的) 繼承自父類的共性成員方法: int read() 讀取單個字符并返回。 int read(char[] cbuf)一次讀取多個字符,將字符讀入數(shù)組。 void close() 關(guān)閉該流并釋放與之關(guān)聯(lián)的所有資源。 構(gòu)造方法: InputStreamReader(InputStream in) 創(chuàng)建一個使用默認字符集的 InputStreamReader。 InputStreamReader(InputStream in, String charsetName) 創(chuàng)建使用指定字符集的 InputStreamReader。 參數(shù): InputStream in:字節(jié)輸入流,用來讀取文件中保存的字節(jié) String charsetName:指定的編碼表名稱,不區(qū)分大小寫,可以是utf-8/UTF-8,gbk/GBK,...不指定默認使用UTF-8 使用步驟: 1.創(chuàng)建InputStreamReader對象,構(gòu)造方法中傳遞字節(jié)輸入流和指定的編碼表名稱 2.使用InputStreamReader對象中的方法read讀取文件 3.釋放資源 注意事項: 構(gòu)造方法中指定的編碼表名稱要和文件的編碼相同,否則會發(fā)生亂碼
*/
public class Demo03InputStreamReader {
public static void main(String[] args) throws IOException { //read_utf_8(); read_gbk(); } /* 使用InputStreamReader讀取GBK格式的文件 */ private static void read_gbk() throws IOException { //1.創(chuàng)建InputStreamReader對象,構(gòu)造方法中傳遞字節(jié)輸入流和指定的編碼表名稱 //InputStreamReader isr = new InputStreamReader(new FileInputStream("10_IOgbk.txt"),"UTF-8");//??? InputStreamReader isr = new InputStreamReader(new FileInputStream("10_IOgbk.txt"),"GBK");//你好 //2.使用InputStreamReader對象中的方法read讀取文件 int len = 0; while((len = isr.read())!=-1){ System.out.println((char)len); } //3.釋放資源 isr.close(); } /* 使用InputStreamReader讀取UTF-8格式的文件 */ private static void read_utf_8() throws IOException { //1.創(chuàng)建InputStreamReader對象,構(gòu)造方法中傳遞字節(jié)輸入流和指定的編碼表名稱 //InputStreamReader isr = new InputStreamReader(new FileInputStream("10_IOutf_8.txt"),"UTF-8"); InputStreamReader isr = new InputStreamReader(new FileInputStream("10_IOutf_8.txt"));//不指定默認使用UTF-8 //2.使用InputStreamReader對象中的方法read讀取文件 int len = 0; while((len = isr.read())!=-1){ System.out.println((char)len); } //3.釋放資源 isr.close(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76258.html
摘要:是字符流通向字節(jié)流的橋梁可使用指定的將要寫入流中的字符編碼成字節(jié)。編碼把能看懂的變成看不懂繼續(xù)自父類的共性成員方法寫入單個字符。刷新該流的緩沖。關(guān)閉此流,但要先刷新它。構(gòu)造方法創(chuàng)建使用默認字符編碼的。 package com.itheima.demo03.ReverseStream; import java.io.FileOutputStream;import java.io.IOEx...
摘要:字符轉(zhuǎn)換流原理字節(jié)流編碼表。和作為子類,僅作為操作字符文件的便捷類存在。源目的先根據(jù)需求明確要讀,還是要寫。屏幕網(wǎng)絡(luò)完全可以明確具體要使用哪個流對象。明確四是否需要額外功能呢額外功能轉(zhuǎn)換嗎轉(zhuǎn)換流。高效嗎緩沖區(qū)對象。 01轉(zhuǎn)換流概述 * A: 轉(zhuǎn)換流概述 * a: 轉(zhuǎn)換流概述 * OutputStreamWriter 是字符流通向字節(jié)流的橋梁:可使用指定的字符編碼...
摘要:字符流字符流是什么字符流是可以直接讀寫字符的流字符流讀取字符就要先讀取到字節(jié)數(shù)據(jù)然后轉(zhuǎn)為字符如果要寫出字符需要把字符轉(zhuǎn)為字節(jié)再寫出類的方法可以按照字符大小讀取通過項目默認的碼表一次讀取一個字符賦值給將讀到的字符強轉(zhuǎn)后打印字符流類的方法可以 1_字符流FileReader 1.字符流是什么 字符流是可以直接讀寫字符的IO流 字符流讀取字符, 就要先讀取到字節(jié)數(shù)據(jù), 然后轉(zhuǎn)為字符. ...
package com.itheima.demo03.ReverseStream; import java.io.*; /* 練習(xí):轉(zhuǎn)換文件編碼 將GBK編碼的文本文件,轉(zhuǎn)換為UTF-8編碼的文本文件。 分析: 1.創(chuàng)建InputStreamReader對象,構(gòu)造方法中傳遞字節(jié)輸入流和指定的編碼表名稱GBK 2.創(chuàng)建OutputStreamWriter對象,構(gòu)造方法中傳遞...
摘要:知識點總結(jié)轉(zhuǎn)換流知識點總結(jié)是的子類,將一個字符流的輸出對象變?yōu)樽止?jié)流的輸出對象。將字節(jié)輸出流轉(zhuǎn)為字符輸出流字節(jié)流轉(zhuǎn)為字符流蘋果將字節(jié)輸入流轉(zhuǎn)為字符輸入流內(nèi)容是 Java知識點總結(jié)(JavaIO-轉(zhuǎn)換流) @(Java知識點總結(jié))[Java, JavaIO] [toc] showImg(https://segmentfault.com/img/bV82dQ?w=849&h=226); O...
閱讀 1774·2021-10-11 10:59
閱讀 2420·2021-09-30 09:53
閱讀 1782·2021-09-22 15:28
閱讀 2810·2019-08-29 15:29
閱讀 1574·2019-08-29 13:53
閱讀 3219·2019-08-29 12:34
閱讀 2868·2019-08-26 10:16
閱讀 2676·2019-08-23 15:16