输入和输出流体系中提供了两个装换流,是将字节流转换成字符流,其中InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter将字节输出流转换成字符输出流。(这是一种典型的装饰设计模式)。
代码例子:
输入字节流转换输入字符流:
public class KeyinTest
{
public static void main(String[] args)
{
try(
// 将Sytem.in标准输入字节流对象转换成字符流Reader对象
InputStreamReader reader = new InputStreamReader(System.in);
//将普通Reader包装成缓冲字符流BufferedReader对象
BufferedReader br = new BufferedReader(reader))
{
String buffer = null;
//采用循环方式来一行一行的读取
while ((buffer = br.readLine()) != null)
{
//如果读取的字符串为"exit",程序退出
if (buffer.equals("exit"))
{
System.exit(1);
}
//打印读取的内容
System.out.println("输入内容为:" + buffer);
}
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}
输出字节流转换输出字符流:
public class FileWriter
{
public static void main(String[] args)
{
try(
//将文件输出字节流包装成字符输出流对象
OutputStreamWriter writer=new OutputStreamWriter(new FileOutputStream("test.txt"));
//将普通writer包装成缓冲字符流BufferedWriter对象
BufferedWriter bufferedWriter=new BufferedWriter(writer))
{
String buffer="xuguoli_beyondboy";
bufferedWriter.write(buffer);
} catch (Exception e)
{
e.printStackTrace();
}
}
}