美文网首页
java——字符流

java——字符流

作者: 打死你的小乌龟 | 来源:发表于2018-08-29 23:59 被阅读0次
字符流:Reader和Writer所有字符流的父类型。

Java技术使用Unicode来表示字符串和字符,而且提供16位版本的流,以便用类似的方法处理字符。

如果构造了一个连接到流的Reader和Writer,转换规则会在使用缺省平台所定义的字节编码和Unicode之间切换。

桥梁流:

InputStreamReader和OutputStreamWriter(字节流转化成字符流的桥转换器)

这两个类不是用于直接输入输出的,他是将字节流转换成字符流的桥转换器,并可以指定编解码方式。

逐行读写流:BufferedReader/BufferedWriter
以上两个都是过滤流,需要用其他的节点流来作参数构造对象。

BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。要注意,再写入时要注意写换行符,否则会出现阻塞。
BufferedWriter的方法:newLine() ,这个方法会写出一个换行符。

管道流:线程交互的时候使用
PipedInputStream/PipedOutputStream
传送输出流可以连接到传送输入流,以创建通信管道。传送输出流是管道的发送端。
通常,数据由某个线程写入PipedOutputStream对象,并由其他线程从连接的PipedInputStream 读取。
注意:管道输出流和管道输入流需要对接。

数据流:DataInputStream和DataOutputStream
通过流来读写Java基本类,注意DataInputStream和DataOutputStream的方法是成对的。

支持直接输出输入各种数据类型。

注意:使用DataOutputStream/DataInputStream时,要注意写入顺序和读取顺序相同,否则会将没有分割写入的信息分割不正确而读取出错误的数据。

对象流:ObjectInputStream和ObjectOutputStream(实现对象序列化)。
对象流是过滤流,需要节点流作参数来构造对象,用于直接把对象写入文件和从文件中读取对象。

只有实现了Serializable接口的类型的对象才可以被读写,Serializable接口是个标记接口,其中没有定义方法。
对象会序列化成一个二进制代码,文件中保存对象的属性。
writeObject(o)、readObject()这两个是对象读写操作时用的方法。


相关文章

  • Kotlin I/O 与文件管理(1)Java I/O 流概述

    Java I/O 流概述Java 流设计理念Java 流类继承层次字节输入流字节输出流字符输入流字符输出流   K...

  • Java学习Day17

    今日学习内容总结 字符流的输入及输出 Properties IO流 字符流 字符输入流【Reader】 java....

  • IO Stream - 字符流

    字符流 字符流出现的原因1.字符流介绍:由于字节流操作中文不是特别方便,所以Java提供了字符流字符流 = 字节流...

  • Java自学-I/O 字符流

    Java的字符流 Reader Writer Reader字符输入流Writer字符输出流专门用于字符的形式读取和...

  • Java IO 节点流和字符流 学习 + 案例分析

    Java IO 节点流和字符流 学习 + 案例分析

  • Java IO 流学习总结

    Java流操作有关的类或接口 Java流类图结构: 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字...

  • java中的I/O流系统详解

    Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符...

  • java——字符流

    字符流:Reader和Writer所有字符流的父类型。 Java技术使用Unicode来表示字符串和字符,而且提供...

  • Java IO和NIO

    Java IO Java IO面向流,按照流中的最小数据单元可以分为字节流和字符流,顾名思义分别以字节和字符作为数...

  • Java 中字节流与字符流的区别?

    Java 中字节流与字符流的区别? 知乎高赞回答。参考:Java 中字节流与字符流的区别?[https://www...

网友评论

      本文标题:java——字符流

      本文链接:https://www.haomeiwen.com/subject/ogelwftx.html