Java基礎突擊第九天0021(轉換流)

字節字符轉換流

OutputStreamWriter 是Writer的子類,將輸出的字符流變爲字節流。程序到硬盤。

InputStreamReader是Reader的子類,將輸入的字節流變爲字符流。硬盤到程序。

不過也可以把輸出的字節流轉換爲字符流

把輸入的字符流變字節流。

-------->OutputStreamWriter

public OutputStreamWriter(OutputStream out)

字節輸出轉字符輸出:

import java.io.File;
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.Writer;
public class TestJava{
}
class Demo{
		public static void main(String[] args) throws Exception{
				File fileTrans = new File("C:"+File.separator+"JavaStudy"+File.separator+
								"JavaIO"+File.separator+"test05.txt");
				Writer bcTrans = new OutputStreamWriter(new FileOutputStream(fileTrans));
				bcTrans.write("Hello World!");
				bcTrans.close();
		}
}//Demo
在文件test05上存入Hello World!

 字節輸入轉字符輸入:

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;

public class TestJava{
}
class Demo{
		public static void main(String[] args) throws Exception{
				File fileTrans = new File("C:"+File.separator+"JavaStudy"+File.separator+
						"JavaIO"+File.separator+"test05.txt");
			  Reader irTrans = new InputStreamReader(new FileInputStream(fileTrans));
				char[] cReady = new char[1024];
				int lenReady = irTrans.read(cReady);
				irTrans.close();
				System.out.println("Content:\n"+new String(cReady,0,lenReady));
		}//main
}

output:

Content:
Hello World!

FileWriter並不是Writer的直接子類,而是OutputStreamWriter的直接子類。

FileReader也是InputStreamReader的直接子類。

不管使用字節流還是字符流,最終都是以字節的形式操作輸入輸出流的。

既然歸根結底都要用字節的形式操作,那麼只有字節流轉換字符流纔有存在的意義呀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章