Java字节流与字符流

发表于:2010-5-25 10:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  2、  字符流

  注:是在jdk1.1里面引进的,上面字节流是在jdk1.0引进的。当用于处理文本数据时,选择字符流比字节流更好。但对只出路基本数据类型的开发者,可以继续使用字节流。

  所有的读操作都继承自一个公共超类java.io.Reader类。

  所有的写操作都继承自一个公共超类java.io.Writer类。

  同样Reader和Writer也是抽象类。

  Reader的常用的子类如下:

  低级读取器

  流的用途

  CharArrayReader
  从字符数组中读取数据
  InputStreamReader
  FileReader(InputStreamReader的子类)
  从本地文件系统中读取字符序列
  StringReader
  从字符串中读取字符序列
  PipedReader
  从线程管道中读取字符序列

  InputStreamReader重点讲解:

  InputStreamReader是从输入流中读取数据,连接输入流于读取器。如:new InputStreamReader(System.in)

  构造方法:

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

  常用的过滤器读取器:

  过滤器读取器

  流的用途

  BufferedReader
  缓冲数据的访问,以提高效率
  LineNumberReader(BufferedReader的子类)
  维护一个计数器,该计数器表明正在读取的是哪一行。
  FilterReader(抽象类)
  提供一个类创建过滤器时可以扩展这个类
  PushbackReader(FilterReader的子类)
  允许把文本数据推回到读取器的流中

  这些过滤器读取器都可以传入一个Reader作为构造方法的参数。

  Writer(略)

  Writer的结构基本和Reader是一样的。

  字节流是最基本的,字符流是为了处理字符而提出来的。

  new BufferedReader(new InputStreamReader(client.getInputStream()));解释:

  client.getInputStream()是字节流;
  InputStreamReader把字节流转换成字符流;
  BufferedReader缓冲字符流,使得能够使用readline()等方法,直接读取一行。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号