/*readLine方法是字节流BufferedReader类中的方法
* 键盘录入的read方法是字节流InputStream的方法
*
* 读取转换流:InputStreamReader(InputStream) 将字节流对象转换成字符流对象
* 写入转换流:OutputStreamWriter(OutputStream) 将字符流对象转换为字节流对象
*
* 流对象的基本规律:
* 1.明确源和目的
* 源: 输入流 InputStream Reader
* 目的:输出流 OutputStream Writer
* 2.操作的数据是否是纯文本
* 纯文本: 字符流 InputStream OutputStream
* 非纯文本: 字节流 Reader Writer
* 3.当体系明确后,再确定使用哪个具体对象
* 通过设备来进行区分:
* 源设备:内存,硬盘,键盘
* 目的设备:内存,硬盘,控制台
* 4.是否需要提高效率Buffered
*
* 想要把录入的数据按照指定的编码表(utf-8)将数据存到文件中
* 使用转换流:
InputStreamReader()
OutputStreamWriter()
*
*
*
* //练习:将一个图片文件中的数据存储到另一个文件中,分析
* 源文件:图片InputStream
* 目的:图片OutputStream
*/
* 键盘录入的read方法是字节流InputStream的方法
*
* 读取转换流:InputStreamReader(InputStream) 将字节流对象转换成字符流对象
* 写入转换流:OutputStreamWriter(OutputStream) 将字符流对象转换为字节流对象
*
* 流对象的基本规律:
* 1.明确源和目的
* 源: 输入流 InputStream Reader
* 目的:输出流 OutputStream Writer
* 2.操作的数据是否是纯文本
* 纯文本: 字符流 InputStream OutputStream
* 非纯文本: 字节流 Reader Writer
* 3.当体系明确后,再确定使用哪个具体对象
* 通过设备来进行区分:
* 源设备:内存,硬盘,键盘
* 目的设备:内存,硬盘,控制台
* 4.是否需要提高效率Buffered
*
* 想要把录入的数据按照指定的编码表(utf-8)将数据存到文件中
* 使用转换流:
InputStreamReader()
OutputStreamWriter()
*
*
*
* //练习:将一个图片文件中的数据存储到另一个文件中,分析
* 源文件:图片InputStream
* 目的:图片OutputStream
*/
public class TransStreamDemo {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//修改标准输入输出
// System.setIn(new FileInputStream("person.java"));
// System.setOut(new PrintStream("zzz.txt"));
//获取键盘录入对象
// InputStream in = System.in;
// InputStreamReader isr = new InputStreamReader(in);
// BufferedReader bufr = new BufferedReader(isr);
BufferedReader bufr
= new BufferedReader(new InputStreamReader(System.in));
// OutputStream out = System.out;
// OutputStreamWriter osw = new OutputStreamWriter(out);
// BufferedWriter bufw = new BufferedWriter(osw);
BufferedWriter bufw
= new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line = bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufw.write(line.toUpperCase());//转成大写
//换行标识
bufw.newLine();
bufw.flush();
}
bufr.close();
}
}