IO流操作的问题 请大神帮忙

在把 new FileInputStream(f)转换成字符流时,用InputStreamReader 还是 fileReader好,为什么?



Jordan裔 那如果频率多呢
接近 3 年之前 回复


  • Convenience class for reading character files. The constructors of this
  • class assume that the default character encoding and the default byte-buffer
  • size are appropriate. To specify these values yourself, construct an
  • InputStreamReader on a FileInputStream. *
  • FileReader is meant for reading streams of characters.

  • For reading streams of raw bytes, consider using a
  • FileInputStream. *
  • @see InputStreamReader
  • @see FileInputStream *
  • @author Mark Reinhold
  • @since JDK1.1 / 这是FileReader的说明; /*
  • An InputStreamReader is a bridge from byte streams to character streams: It
  • reads bytes and decodes them into characters using a specified {@link
  • java.nio.charset.Charset charset}. The charset that it uses
  • may be specified by name or may be given explicitly, or the platform's
  • default charset may be accepted. *
  • Each invocation of one of an InputStreamReader's read() methods may

  • cause one or more bytes to be read from the underlying byte-input stream.
  • To enable the efficient conversion of bytes to characters, more bytes may
  • be read ahead from the underlying stream than are necessary to satisfy the
  • current read operation. *
  • For top efficiency, consider wrapping an InputStreamReader within a

  • BufferedReader. For example: *
  • BufferedReader in
  • = new BufferedReader(new InputStreamReader(;
  • *
  • @see BufferedReader
  • @see InputStream
  • @see java.nio.charset.Charset *
  • @author Mark Reinhold
  • @since JDK1.1


Csdn user default icon