转换流InputStreamReader、OutputStreamWriter

InputStreamReaderDemo:

 1 import java.io.*;
 2 //为方便演示便省略异常处理。
 3 class SystemDemo2
 4 {
 5     public static void main(String[] args)throws IOException
 6     {
 7         InputStream in = System.in;
 8         InputStreamReader ins = new InputStreamReader(in);
 9         BufferedReader bufr = new BufferedReader(ins);
10         while (true)
11         {
12             String s = bufr.readLine();
13             System.out.println(s.toUpperCase());
14             if (s.equals("over"))
15             {
16                 break;
17             }
18         }
19         //bufr.close();爆出了无法访问的语句,可能是此缓存区最终的数据时键盘所以无需关闭流。
20     }
21 }

键盘的最常见写法:

BufferedReader bufr = new BufferedReader(new InputStream(System.in));

OutputStreamWriterDemo:

 1 import java.io.*;
 2 class OutputStreamReaderDemo
 3 {
 4     public static void main(String[] args) throws IOException
 5     {
 6         OutputStream out = System.out;//创建输出对象。
 7         OutputStreamWriter outw = new OutputStreamWriter(out);//转换流对象,将需要转换的字节流作为参数传入转换流对象
 8         BufferedWriter bufw = new BufferedWriter(outw);//缓冲区
 9         bufw.write("afd");//调用写出方法
10         bufw.flush();//刷新
11         bufw.close();//关闭资源
12 //        //三行变一行输出方式
13 //        BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
14     }
15 }

InputStream、OutputSreamDemo:(综合)

 1 import java.io.*;
 2
 3 class  TransStreamDemo
 4 {
 5     public static void main(String[] args) throws IOException
 6     {
 7         //获取键盘录入对象。
 8         //InputStream in = System.in;
 9
10         //将字节流对象转成字符流对象,使用转换流。InputStreamReader
11         //InputStreamReader isr = new InputStreamReader(in);
12
13         //为了提高效率,将字符流进行缓冲区技术高效操作。使用BufferedReader
14
15         //BufferedReader bufr = new BufferedReader(isr);
16
17
18         //键盘的最常见写法。
19         BufferedReader bufr =
20                 new BufferedReader(new InputStreamReader(System.in));
21
22
23
24
25
26
27 //        OutputStream out = System.out;
28 //        OutputStreamWriter osw = new OutputStreamWriter(out);
29 //        BufferedWriter bufw = new BufferedWriter(osw);
30         BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
31
32
33
34
35         String line = null;
36
37         while((line=bufr.readLine())!=null)
38         {
39             if("over".equals(line))
40                 break;
41             bufw.write(line.toUpperCase());
42             bufw.newLine();
43             bufw.flush();
44         }
45
46         bufr.close();
47
48     }
49 }

时间: 2024-10-24 13:35:04

转换流InputStreamReader、OutputStreamWriter的相关文章

转换流: InputStreamReader 和 OutputStreamWriter

/* * 1.转换流: InputStreamReader 和 OutputStreamWriter 一对. * * 1) InputStreamReader 字节转换成字符的一个输入流,最后,以字符方式读取数据. * OutputStreamWriter 字符转换成字节的一个输出流,最后,以字节方式输出数据. * * 2) 功能: 当给的类型数据与要的类型数据不一致时,需要进行转换. * 另一个功能: 可以为输入/输出指定字符编码集,从而以指定的字符编码集实现数据存盘管理或读取相应字符编码集的

转换流--InputStreamReader ,OutputStreamWriter

BufferedReader 字符流,只能装饰字符流,不能装饰字节流.有个重要且好用的方法是readLine()整行读取字符. 但是InputStream是字节流,没有resdLine方法,那么字节流InputStream如何使用readLine方法呢??? 如果能把字节流转换成字符流就可以使用BufferedReader装饰流.也就可以使用readLine方法. 把字节流转换成字符流,或者把字符流转为字节流    称为转换流: InputStreamReader(前缀是功能,后缀是体系):字节

io流之转换流InputStreamReader、OutputStreamWriter

例子程序: package io; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; p

Java基础知识强化之IO流笔记35:InputStreamReader/OutputStreamWriter 复制文本文件案例01

1. 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中. 数据源:  a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader 目的地:  b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter InputStreamReader/OutputStreamWriter不仅是转换流(将字节流转换为字符流),也是字符流Reader/Writer的具体实现子类. 2.代码示例: 1 package cn.itcas

【IO流】22 - 字符流 - 转换流OutputStreamWrite和InputStreamReader

转换流 InputStreamReader package cn.itcast.demo; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /* * 转换流 * java.io.InputStreamReader 继承 Reader * 字符输入流,读取文本文件 * * 字节流向字符的桥梁,将字节流转字符流 * * 读取的方法: * read() 读取1个字

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自

转换流以及流规律总结

 转换流: 上边读取键盘录入的代码,与BufferedReader的readLine()方法很相似,那么能不能用readLine()来代替?因为System.in是字节流,它要使用字符流缓冲区的方法,这就需要使用到两个转换流:InputStreamReader和OutputStreamWriter. package tan; import java.io.*; public class TranStreamDemo { public static void main(String[] args)

IO【转换流,打印流,序列化】

编码: 把看的懂,变成看不懂的 String str = "中国"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));解码: 把看不懂的内容,变成能看懂的 String s = new String(bytes); System.out.println(s); java.io.OutputStreamWriter extends Writer OutputStreamWriter:转换流

Java IO(四)- 转换流

转换流 InputStreamReader和OutputStreamWriter用于字节数据到字符数据之间的转换. InputStreamReader需要和InputStream套接(把InputStream转换成InputStreamReader) OutputStreamWriter需要和OutputStream套接(把OutputStreamWriter转换成OutputStream) 转换流在构造时可以指定其编码集合,例如: InputStream is = new InputStrea