A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁小刀11 中级黑马   /  2015-2-9 23:53  /  979 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.4

PipedReader :与 PipedInputStream 对应


2.  Writer

2.1    CharArrayWrite : 与 ByteArrayOutputStream 对应

2.2   StringWrite :无与之对应的以字节为导向的 stream

2.3  FileWrite : 与 FileOutputStream 对应

2.4  PipedWrite :与 PipedOutputStream 对应


3、两种不同导向的 stream 之间的转换  

3.1

InputStreamReader 和 OutputStreamReader :

把一个以字节为导向的 stream 转换成一个以字符为导向的 stream 。

InputStreamReader 类是从字节流到字符流的桥梁:它读入字节,并根据指定的编码方式,将之转换为字符流。

使用的编码方式可能由名称指定,或平台可接受的缺省编码方式。

InputStreamReader 的 read() 方法之一的每次调用,可能促使从基本字节输入流中读取一个或多个字节。

为了达到更高效率,考虑用 BufferedReader 封装 InputStreamReader ,

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

例如: // 实现从键盘输入一个整数

[java] view plaincopy


  • String s = null;            
  • InputStreamReader re = new InputStreamReader(System.in);  
  •               BufferedReader br = new BufferedReader(re);  
  •               try {  
  •               s = br.readLine();  
  •               System.out.println("s= " + Integer.parseInt(s));  
  •               br.close();  
  •               }  
  •               catch (IOException e)  
  •               {  
  •               e.printStackTrace();  
  •               }  
  •               catch (NumberFormatException e)// 当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。  
  •               {  
  •               System.out.println(" 输入的不是数字 ");  
  •               }  


InputStreamReader(InputStream) 用缺省的字符编码方式,创建一个 InputStreamReader 。

InputStreamReader(InputStream, String) 用已命名的字符编码方式,创建一个 InputStreamReader 。


OutputStreamWriter 将多个字符写入到一个输出流,根据指定的字符编码将多个字符转换为字节。

每个 OutputStreamWriter 合并它自己的 CharToByteConverter, 因而是从字符流到字节流的桥梁。



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马