黑马程序员技术交流社区

标题: java中几种流? [打印本页]

作者: Swornf、时年    时间: 2015-8-19 16:04
标题: java中几种流?
java中几种流?
作者: TheBadboy    时间: 2015-8-19 16:36
按操作类型:
      a:字符流
      b:字节流
按流类型分
      a:字节流
      b:字符流
作者: sjtree    时间: 2015-8-19 17:30
字节流:InputStream OutputStream  字符流:Reader  Writer
作者: 懒懒~伍    时间: 2015-8-19 18:38
io流
作者: 阮文江    时间: 2015-8-19 20:20
我一般都叫io流而已,要细分估计有挺多的
作者: 蓬头小道士    时间: 2015-8-19 20:22
太多了,哥们!你自己可以数数呀!
作者: 3174918418    时间: 2015-8-19 21:23
IO流:
                字节流
                                字节输入流 读取数据   InputStream
                                字节输出流 写入数据        OutputStream
                字符流
                                字符流输入 读取数据   Reader
                                字符流输出 写入数据        Writer
       
作者: Lemen    时间: 2015-8-19 21:35
Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的.
作者: iamzk    时间: 2015-8-19 21:48
字节流和字符流
作者: pengbeilin    时间: 2015-8-19 21:56
字符流

Reader:用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。
|—BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
|—LineNumberReader:跟踪行号的缓冲字符输入流。此类定义了方法 setLineNumber(int) 和 getLineNumber(),它们可分别用于设置和获取当前行号。
|—InputStreamReader:是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
|—FileReader:用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。
|—CharArrayReader:
|—StringReader:

Writer:写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。
|—BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
|—OutputStreamWriter:是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
|—FileWriter:用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。
|—PrintWriter:
|—CharArrayWriter:
|—StringWriter:

字节流:

InputStream:是表示字节输入流的所有类的超类。
|— FileInputStream:从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
|— FilterInputStream:包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。
|— BufferedInputStream:该类实现缓冲的输入流。
|— Stream:
|— ObjectInputStream:
|— PipedInputStream:

OutputStream:此抽象类是表示输出字节流的所有类的超类。
|— FileOutputStream:文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。
|— FilterOutputStream:此类是过滤输出流的所有类的超类。
|— BufferedOutputStream:该类实现缓冲的输出流。
|— PrintStream:
|— DataOutputStream:
|— ObjectOutputStream:
|— PipedOutputStream:
作者: T-l-H、小生    时间: 2015-8-19 21:58
看你按什么划分啦,看看API里面,一堆
作者: superhs    时间: 2015-8-19 22:10
二楼所说正解
作者: taoaisheng    时间: 2015-8-20 21:15
字节输入流InputStream字符输入流Reader 字节输出流OutStream字符输出流Writer
作者: 段山虎    时间: 2015-8-20 22:23
二楼正解
作者: sven556677    时间: 2015-8-20 22:38
对于IO这一块的课程我是这么总结的
四大基本流:字符/字节 ,原始/Buffered两两组合
三个点:File用来操作文件,properties读写键值对等信息,两个Print流方便打印(比write方便点)
其他流:sequence(分流),
ObjectI/OStream(管对象读写),
PipedIOStrem管线程读写,
RandomFileStream固定长度的读写,
ByteIOStream用流的方式操作数组,
转换流用来转换字符字节。

作者: sven556677    时间: 2015-8-20 22:42
sven556677 发表于 2015-8-20 22:38
对于IO这一块的课程我是这么总结的
四大基本流:字符/字节 ,原始/Buffered两两组合
三个点:File用来操作 ...

有两个单词写错了。
总结起来一共是“四三六”就目前我看到的,四三是肯定要掌握的,后面的六个其他类好像没看到谁的面试有提到,要求应该低一些b啊。
作者: 我爱吃小馒头    时间: 2015-9-7 08:54
io流  哈哈哈哈
作者: xiaozeiyes    时间: 2015-9-7 09:05
ava中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的.
作者: lizhichao    时间: 2015-9-7 09:15
我想你应该再详细一点。我相信这不是你的疑问因为这些在毕老师的视频里都有答案。更何况是技术分35分的你。我面试都过了还没有脑的技术分高
作者: ln0491    时间: 2015-9-7 09:49
输入流
输出流
作者: michael_wlq    时间: 2015-9-7 10:17
看API就行了吧。。
作者: 疯疯疯疯疯子    时间: 2015-9-7 10:56
路过!!!!!学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2