转换流,可以将一个字节流转换为字符流,也可以将一个字符流转换为字节流
- 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 ChangerStreamDemo {
public static void main(String[] args) throws FileNotFoundException {
//InputStream in=new FileInputStream("/Users/a10.11.5/test/123.txt");
//read(in);
OutputStream out =new FileOutputStream("/Users/a10.11.5/test/123.txt",true);
writer(out);
}
//InputStreamReader:将输入的字节流转换为字符流
public static void read(InputStream in){
Reader reader=new InputStreamReader(in);
char [] cs=new char[1024];
int len=-1;
try {
while((len=reader.read(cs))!=-1) {
System.out.println(new String(cs,0,len));
}
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//OutputStreamWriter:将输出的字符流转换为字节流的输出形式
public static void writer(OutputStream out){
Writer writer=new OutputStreamWriter(out);
try {
writer.write(",开开心心来玩耍\r\n");
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}