• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    Java字符輸入輸出流

     

     

    InputStreamReader可以把字節流,以指定的編碼轉換為字符流。

     

    OutputStreamWriter可以把字符流以指定的編碼轉換為字節流。

     

    這兩個類采用了適配器設計模式, 電源適配器可以把220的交流電轉換為20V的直流電,  InputStreamReader把字節流轉換為字符流, OutputStreamWriter把字符流轉換為字節流。

     

    package com.wkcto.chapter06.readerwriter;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    
    /**
     * InputStreamReader/OutputStreamWriter , 轉換流類
     * 	當文本文件的編碼格式與當前環境的編碼格式不兼容時, 使用轉換流類讀寫文件
     * @author 蛙課網
     *
     */
    public class Test04 {
    
    	public static void main(String[] args) throws IOException {
    		
    		//讀取文本文件, 文本文件的編碼與當前環境編碼不兼容
    //		readData();
    		
    		//保存文件, 以指定的編碼把數據保存到文件中
    		writeData();
    	}
    
    	private static void writeData() throws  IOException {
    		OutputStream out = new FileOutputStream("d:/def.txt"); 	//以覆蓋的方式打開文件
    		OutputStreamWriter osw = new OutputStreamWriter(out, "GBK");
    		
    		osw.write("程序開發環境使用UTF-8編碼, 而現在是以GBK的格式把數據保存到文件中");
    		osw.close();
    	}
    
    	//讀取文本文件, 文本文件的編碼與當前環境編碼不兼容
    	private static void readData() throws IOException {
    		//在當前程序與d:/test01.java文件之間建立字節流通道 , d:/test01.java文件使用GBK編碼, 當前環境是UTF-8編碼
    		InputStream in = new FileInputStream("d:/test01.java");
    		//使用轉換流, 把字節流in中的字節,按照指定的編碼GBK轉換為字符
    		InputStreamReader isr = new InputStreamReader(in, "GBK");
    		
    		//可以讀取字符流isr中的字符
    		int cc = isr.read();
    		while( cc != -1){
    			System.out.print( (char)cc);
    			cc = isr.read();
    		}
    		
    		isr.close();
    	}
    
    }

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏