ByteArrayOutputStream:此类的一个实例包含一个用于写入字节流的内部缓冲区 。
FilterOutputStream:此类的一个实例包含一些其他输出流 , 作为进一步操作的基本数据源 。
BufferedOutputStream:这使 FilterOutputStream实例能够使用缓冲区来输出数据 。
DataOutputStream:此类的一个实例能够以与机器无关的方式将原始 Java 类型写入底层输出流 。
PrintStream:这使 OutputStream 对象能够方便地打印各种数据值的表示形式 。
FileOutputStream:此类的一个实例用于输出流 , 用于将数据写入文件或文件描述符 。
ObjectOutputStream:这个类的一个实例用于序列化一个可以用ObjectInputStream反序列化的对象 。
PipedOutputStream:这个类的一个实例为输出字节提供了一个管道或缓冲区 , 它以先进先出的方式工作 。
字符流类
在字符流类层次结构的顶部 , 有两个抽象类:面向字符输入的Reader和面向字符输出操作的Writer 。 分层布局如下:
Reader:用于读取字符流的顶级抽象类 。
BufferedReader:在从字符输入流读取文本时提供中间缓冲区以提高效率 。
LineNumberReader:使用缓冲的字符输入流来跟踪行号 。
CharArrayReader:实现可用作阅读器的自动递增字符缓冲区 。
FilterReader:该类的一个实例用于读取字符文件 。
PushbackReader:这使字符能够在读取后被推回流中 。
InputStreamReader:这个类的一个实例提供了从字节流到字符流的桥梁 。 使用指定的字符集将字节解码为字符 。
FileReader:该类的一个实例用于读取字符文件 。
PipedReader:对字符输入流使用管道 。
StringReader:来自源字符串的字符输出流读取器 。
Writer:写入字符流的顶级抽象类 。
BufferedWriter:在将文本写入字符输出流时提供中间缓冲区以提高效率 。
CharArrayWriter:实现可用作写入器的自动递增字符缓冲区 。
FilterWriter:用于编写过滤字符流的抽象类 。
OutputStreamWriter:这个类的一个实例提供了字符流和字节流之间的桥梁 。 使用指定的字符集将字符编码为字节 。
FileWriter:该类的一个实例用于写入字符文件 。
PipedWriter:使用管道进行字符输出流 。
PrintWriter:将对象的格式化表示打印到测试输出流 。
StringWriter:字符输出流被收集在字符串缓冲区中 , 可用于构造字符串 。
预定义流
Java 提供了三个预定义的流对象:in、out和err , 它们在java.lang包的System类中定义 。 out对象是指标准输出流或控制台 。 in对象指的是标准输入 , 也就是键盘 。 而且 , err对象指的是标准错误 , 它也只是控制台 。 应该很明显 , 它们可能被重定向到任何其他兼容的I/O设备 , 因为System.in只不过是InputStream的一个对象 , 而System.out和System.err是PrintStream类的对象 。 因此 , 它们基本上工作在面向字节的流上 , 尽管我们可以使用它们在控制台中读取和写入字符 。
结论
【电子商务|Java:理解Java中的字节流和字符流】Java 流充当文件处理包装器 , 根据相应的I/O结构进行操作 。 在许多情况下 , 面向字符的流类和面向字节的流类的功能非常相似 。 但是 , 这并不意味着它们没有区别 。 java.io包中定义的流类相当简单且不复杂 , 但它们确实起到了作用 。
- 宇宙大爆炸与理解生命起源和进化有什么关联?
- Java|干翻小米,红米又出超大杯旗舰,120W+2K直屏+双旗舰芯
- 电子商务|关于电子商务
- 百度地图|Java程序员应知应会之Maven和Gradle的区别
- 电子商务|欧洲跨境电商销售额市场排名公布,第一名令人意外!
- javascript|穿戴设备将迎变革,OPPO又增新专利,能提升模式切换效率!
- 电子商务|3D打印机有多强大?科学家曾利用3D打印技术打印出火箭喷射器
- Java|Gamamobi CEO黄继德:我们的元宇宙游戏不担心体验落差
- Java|美国传来新消息,ASML态度也变了,这一切竟如此之快
- Java|李佳琦消失扯下阿里“遮羞布”,原来淘宝根本就没有护城河
