读写转换流

/*
字符流:
FileReader
FileWriter


BufferedReader
BufferedWriter


字节流:
FileInputStream
FileOutputStream


BufferedInputStream
BufferedInputStream


通过刚才的键盘录入一行数据并打印,发现其实就是读一行数据的原理
也就是readLine()方法


readLine()方法是字符流BufferedReader类中的方法
而键盘录入的read方法是字节流InputStream方法


那么能不能将字节流转成字符流再使用字符流缓冲区的readLine方法呢?


*/
import java.io.*;


class  TransStreamDemo
{
public static void main(String[] args) throws IOException
{
//字节流通向字符流的桥梁
//获取键盘录入对象
// InputStream in = System.in;
//
// //将字节流对象转成字符流对象,使用转换流。InputStreamReader
// InputStreamReader isr = new InputStreamReader(in);
//
// //为了提高效率,将字符串进行缓冲区技术高效操作,使用BufferedReader
// BufferedReader bufr = new BufferedReader(isr);


//键盘录入的最常见写法,字节流转成字符流再使用缓冲区
//一次能读一行
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in));
//
// String line = null;
//
// while ((line=bufr.readLine())!=null)
// {
// //if(line.equals("over"))
// if("over".equals(line))
// break;
// System.out.println(line.toUpperCase());
// }
// bufr.close();


//字符流通字节流的桥梁,例如写入硬盘
OutputStream out = System.out;  //字节流对象,用父类接收
//传入字节输出流对象,变成字符输出流
OutputStreamWriter osw = new OutputStreamWriter(out);
BufferedWriter bufw = new BufferedWriter(osw);


String line = null;


while ((line=bufr.readLine())!=null)//读出字符
{
if("over".equals(line))
break;
//没换行\r\n不跨平台,要用缓冲区的方法
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值