Java SE应用部分30Java IO操作04.docx
- 文档编号:16145927
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:11
- 大小:897.04KB
Java SE应用部分30Java IO操作04.docx
《Java SE应用部分30Java IO操作04.docx》由会员分享,可在线阅读,更多相关《Java SE应用部分30Java IO操作04.docx(11页珍藏版)》请在冰点文库上搜索。
JavaSE应用部分30JavaIO操作04
JavaSE应用部分-30.JavaIO操作(04)
上季内容回顾:
System.out-->PrintStream的一个实例化对象,本身具备了向屏幕上打印的功能,之后又讲解了可以使用OutputStream类向屏幕上进行输出的实例。
本季目标:
1、System.in
2、缓冲流
3、对象序列化
System.in对应的是键盘的输入
publicstaticfinalInputStreamin
只是现在不是像之前那样是从文件中读了,而是从键盘上读数据了。
看下效果:
以上的程序虽然可以输入内容,但是会存在一个问题:
首先程序开辟了一段空间,如果现在假设输入的内容大于开辟的空间,那会如何呢?
看下效果:
如果要是长度大于设置好的长度,则肯定有内容无法读取进来,最好的方法就是给不设置长度,如果有内容就继续读。
看下效果:
采用判断是否读到底的方式完成,确实没有长度的限制了,但是也存在了另外一个问题如果输入中文,则肯定出现乱码?
最好的解决方法是设置一个缓冲区,所有的内容放到缓冲区中一次性读出来。
此缓冲区最好是为字符缓冲区——BufferedReader
publicBufferedReader(Readerin)
此处必须接收一个Reader的对象,但是System.in实际上是InputStream类的对象
字节流与字符流的转换
Reader和Writer本身使用到了缓冲:
Writer-->OutputStreamWriter-->FileWriter
结论:
·在物理上存放的肯定永远是字节流
·读到程序之中才会形成字符流
得出完整的输入数据的代码形式:
现在看下最终效果:
以上为标准的格式,我们现在使用此种格式完成一个功能,输入两个整数之后计算两个数字的相加结果。
字符集
GBK:
是包含了简体中文和繁体中文的字库
GB2312:
是只包含了简体中文的字库
ISO8859-1:
是一个国际的通用编码
在系统中都有一个默认的编码方式。
如果知道当前系统的默认编码呢?
接着看下面哈~
默认的编码方式就是GBK,那么问,如果现在系统的编码为GBK,而我使用ISO进行编码,能正确解释出来吗?
字符乱码怎么解决——跟系统设置的编码一致就OK了。
SequenceInputStream类
SequenceInputStream用于文件合并
看下合并后的效果:
对象序列化
实际上使用的是两个类:
·ObjectOutputStream
·ObjectInputStream
Serializable接口的作用:
只是一个标识接口,表示你这个类的对象允许被序列化
ObjectOutputStream类的构造方法,接收一个OutputStream类的实例化对象,以表示到底向那里保存。
publicfinalvoidwriteObject(Objectobj)throwsIOException
ObjectInputStream类的构造方法
publicfinalObjectreadObject()throwsIOException,ClassNotFoundException
下面进行反序列化(从文件中恢复对象)
看下效果:
从文件中读取对象
对象序列化实际上更准确的来说指的是对象可以变为字节流。
transient关键字
当不希望类中的某个字段被序列化的时候,应用transient表示这个字段
看下效果:
总结
OutputStream:
字节的输出流类
|-FileOutputStream
|-ObjectOutputStream
|-ByteArrayOutputStream
|-PipedOutputStream
|-PrintStream
InputStream:
字节的输入流类
|-FileInputStream
|-ObjectInputStream
|-ByteArrayInputStream
|-PipedInputStream
Reader:
字符流的输入类
|-InputStreamReader
|-FileReader
|-BufferedReader
Writer:
字符流的输出类
|-OutputStreamWriter
|-FileWriter
|-PrintWirter
File类:
Serializable接口
#######################################################
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java SE应用部分30Java IO操作04 SE 应用 部分 30 IO 操作 04