java--IO--InputStreamReader和OutputStreamWriter轉換流
阿新 • • 發佈:2021-06-19
- 轉換流要接據的問題:
-
當我們的檔案是UTF-8的編碼方式時,可以正常的讀取,
-
將檔案的編碼方式改變一下重新讀,亂碼問題:
-
轉換流是可以將位元組流轉換為字元流,同時 位元組流還可以指定編碼方式,用來解決亂碼的問題
-
-
-
轉換流InputStreamReader和OutputStreamWriter的介紹
-
InputStreamReader:輸入位元組流轉換為輸入字元流:
-
package com.model.io.reader.inputstreamReader; import java.io.*; /** * @Description:測試類 * @Author: 張紫韓 * @Crete 2021/6/19 11:31 * 解決中文亂碼問題:我們需要指定編碼方式,且只有位元組流可以指定編碼方式, * 我們需要將位元組裡流變為字元流,同時指定編碼方式,以此來解決中文亂碼問題 * * 將流進行轉換同時,指定編碼方式讀取檔案
-
-
OutputStreamWriter:輸出位元組流轉換為輸出字元流
-
package com.model.io.writer.outputstreamwriter; import java.io.*; /** * @Description:測試類 * @Author: 張紫韓 * @Crete 2021/6/19 11:43 * * 將位元組輸出流轉換為字元輸出流,同時指定編碼方式,這樣我們儲存的檔案就是以這中編碼方式儲存了 * * 將流進行轉換,同時指定編碼方式儲存檔案 */ public class OutputStreamWriterDemo01 { public static void main(String[] args) throws IOException { String filePath="D:\\qq\\IDEA\\IdeaProjects\\java_mianshi_test\\mianshi_io\\src\\main\\resources\\File\\OutputStreamWriterDemo01.txt"; String charSet="utf-8"; BufferedWriter bufferedWriter = new BufferedWriter( //包裝流 (位元組輸出流的包裝流) new OutputStreamWriter( //轉換流(字元輸出流) new FileOutputStream(filePath,true), charSet)); //位元組輸出流 bufferedWriter.write("張紫韓"); bufferedWriter.newLine(); bufferedWriter.close(); System.out.println("按照指定的編碼方式"+charSet+"儲存檔案完成"); } }
-