欢迎来到天天文库
浏览记录
ID:9881294
大小:1.16 MB
页数:36页
时间:2018-05-11
《java第 6 章 java的输入输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章Java的输入/输出2021/6/25Java面向对象程序设计教程2主要内容6.1流输入/输出类的层次结构6.1.1流的概念6.1.2字节流6.1.3字符流6.1.4输入输出类的分类6.1.5标准流及其重定向6.1.6IOException及其子类6.2输入/输出流类的应用6.2.1输入/输出流类的一般例子6.2.2典型的输入/输出流类的组合应用6.2.3格式化输出6.3数据持久化6.3.1对象串行化6.3.2XML文件的输入输出6.3.3JDBC入门6.4文件类的应用6.4.1File类6.4.2File类
2、应用举例6.1流输入/输出类的层次结构2021/6/25Java面向对象程序设计教程4流的概念流(Stream)是有序的数据序列,它有源(输入流)与目的(输出流)。java.io包使用术语流定义I/O(输入/输出)。该包有两个主要的部分:字符流(Characterstream)和字节流(Bytestream)。基于文本的I/O都是一些人们能够阅读的字符(比如说程序的源代码),而基于数据的I/O是二进制(比如说表示图像的位图)。字节流被称作输入流(Inputstream)或输出流(Outputstream),而字符流
3、被称作Reader或Writer。字节流不能正确携带字符,一些与字符相关的流在字节流里是没有意义的。2021/6/25Java面向对象程序设计教程5java.io包里的类和接口分类普通的用于建立不同字节和字符流类型的类——输入输出流、Reader、Writer和在它们之间进行转换的类。定义不同类型流的范围——过滤流、缓冲流、管道流以及一些流的具体实例。读写基本值和字符串数据流的类和接口。一个以系统无关的方式与文件进行交互的类和接口。形成对象串行化(Objectserialization)机制的类和接口——将对象传递
4、到字节流,或从一个字节流中读取数据,重新组建对象。2021/6/25Java面向对象程序设计教程6java.io包里的字节流2021/6/25Java面向对象程序设计教程7InputStream及其子类的推荐用法当需要输入ASCII正文或者二进制数值时,应当使用InputStream类。根据输入源,选用FileInputStream或某个getInputStream方法。可以有选择行地使用任意数量的InputStream过滤器、缓冲区、扩展器、编码器等子类,然后再上层包装DataInputStream类,并使用它的
5、read方法执行输入。如果需要读入对象而非普通数据,则应当使用ObjectInputStream类。如果需要使用缓冲技术,应当直接包装FileInputStream类,以便尽可能早地让所有的类都采用缓冲技术。2021/6/25Java面向对象程序设计教程8java.io的字符流2021/6/25Java面向对象程序设计教程9转换流转换流使用的类InputStreamReader和OutputStreamWriter实现了Unicode相同指定编码的字节流,或者本机系统的默认编码的字节流之间的转换。2021/6/25
6、Java面向对象程序设计教程10输入输出类的分类文件I/O:FileInputStream内存缓冲区I/O:BufferedInputStream存取I/O:DataInputStream管道I/O:PipedInputStream过滤器I/O:FilterInputStream2021/6/25Java面向对象程序设计教程11标准流及其重定向System.out是标准的输出流,默认情况下,它是一个控制台。System.in是标准输入流,默认情况下,它指的是键盘。System.err指的是标准错误流,它默认是控制台
7、。这些流可以重定向到任何兼容的输入/输出设备。举例:RedirectSample.java2021/6/25Java面向对象程序设计教程12IOException及其子类在java.io中,每一个特定的I/O错误都是用异常IOException及其子类来报告的。最常见的I/O异常有FileNotFoundException、EOFException、InterruptedIOException、UTFDataFormatError等。6.2输入/输出流类的应用2021/6/25Java面向对象程序设计教程14输入/
8、输出流类的一般例子在使用输入输出流类时,有两个语句总是要注意的:一是导入java.io包(importjava.io.*;);二是对IOException异常的处理,一般是在调用的方法的声明时“throwsIOException”,当然也可以用try-catch语句进行异常处理。直接读取标准输入流的用法:InputStreamDemo.java管道流的使用:
此文档下载收益归作者所有