字節字符轉換流學習


字節字符轉換流

轉換流,可以將一個字節流轉換為字符流,也可以將一個字符流轉換為字節流。

OutputStreamWriter:可以將輸出的字符流轉換為字節流的輸出形式。
InputStreamReader:將輸入的字節流轉換為字符流輸入形式。

代碼實例

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.Reader;
import java.io.Writer;
import java.nio.charset.Charset;

public class ConvertStream {

	public static void main(String[] args) throws FileNotFoundException {
		InputStream in = new FileInputStream("F:/test.txt");
		read(in);

		OutputStream out = new FileOutputStream("F:/test.txt",true);
		write(out);
	}

	/**
	 * 向文件寫數據
	 * @param out
	 */
	private static void write(OutputStream out) {
		// 將字節輸出流轉換為字符輸出流
		Writer writer = new OutputStreamWriter(out, Charset.defaultCharset());
		try {
			writer.write(" really!");
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}// write

	/**
	 * 從文件讀數據
	 * @param in
	 */
	private static void read(InputStream in) {

		// 將字節流輸入流轉換為字符輸入流,並指定編碼格式
		Reader reader = new InputStreamReader(in, Charset.defaultCharset());
		char[] flush = new char[1024];
		int len = -1;
		try {
			while ((len = reader.read(flush)) != -1) {
				System.out.println(new String(flush, 0, len));
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	} //read
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM