欢迎来到天天文库
浏览记录
ID:34404904
大小:946.36 KB
页数:22页
时间:2019-03-05
《chap08 java io系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章JavaI/O系统http://www.wenyuan.com.cn/webnew/本章主要内容8.1文件类8.2JavaI/O结构8.3使用流8.4对象序列化http://www.wenyuan.com.cn/webnew/8.1文件类8.1.1文件类File8.1.2文件过滤http://www.wenyuan.com.cn/webnew/8.1.1文件类File在Java语言中,用File类表示文件,File类可以处理各种文件操作。和文件相关的一个重要概念是目录,在Java中并不存在一个对应于目录的类。事实上不论是在Windows系统中还是在UN
2、IX系统中,都将目录视为一种特殊的文件。Java的类File既可以表示文件,也可以表示目录。类File有3个常用构建器:第一个构建器通过文件名——可以是文件的完全路径名,也可以是相对路径名(相对于当前线程的工作目录),来创建一个File对象。第二个构建器同时指定了文件的目录和文件名。第三个构建器和第二个的区别在于使用一个File对象而不是String对象来表示文件目录。http://www.wenyuan.com.cn/webnew/注意:需要指出的是,当我们调用File类的构建器时,仅仅是在程序运行环境中创建了一个File对象,而不是在文件系统中创建了一
3、个文件。File对象可以表示文件系统中对应的目录或文件,也可以表示在文件系统中尚不存在的目录或文件。调用File类构建器并不能创建一个文件,那么我们如何创建一个文件呢?一种方法是调用File对象的方法createNewFile();另一种更常用的方法是调用我们随后要介绍的类FileOutputStream的构建器,它还可以提供File类不具备的文件输出功能。File类的方法mkdir()和mkdirs()可以用来创建目录,这两个方法的区别在于mkdirs()可以创建目录路径中的多层目录,即同时创建这个目录的父目录以及父目录的父目录;而mkdir()要求创建目录的
4、父目录已存在。http://www.wenyuan.com.cn/webnew/8.1.2文件过滤在File类中有多个重载的list()方法,下面是其中的一个:这个方法需要一个FilenameFilter对象参数。在很多情况下,我们可能要根据文件名对文件进行过滤,这时就可以调用这个方法来实现。其中FilenameFilter是一个接口,其中声明了一个抽象方法:通过实现这个接口就可以进行文件名过滤。http://www.wenyuan.com.cn/webnew/8.2JavaI/O结构8.2.1字节流8.2.2字符流http://www.wenyuan.co
5、m.cn/webnew/位于java.io包中的类包含两组独立的类层次结构:一个用于读写字节,称为字节流;另一个用于读写字符,称为字符流。字节流与字符流的区别在于它们处理数据的方式。字节流字节流按字节(一个8位组)来处理数据,这也是最基本、最常用的数据处理方式。字符流在实际应用中,存在一类文本数据,它们可能采用各种不同的字符编码方式(字符集),可能是单字节字符,也可能是多字节字符,这就需要借助于字符流来处理文本类信息。http://www.wenyuan.com.cn/webnew/8.2.1字节流输入流(InputStream)和输出流(OutputSt
6、ream)构成字节流的祖先,这两个类直接继承了Object类。InputStream和OutputStream都是抽象类,InputStream为其他所有字节输入流的超类,而OutputStream为其他所有字节输出流的超类。http://www.wenyuan.com.cn/webnew/InputStream有9个直接的子类,OutputStream有5个直接的子类,图中虚线框表示的类,可以打开某个具体的数据源或目标的流,进行数据的读写处理。实线框表示的类的流,可以连接到其他数据流,执行数据转化、缓存、过滤等各种处理。字节输出流的类层次结构字节输入流的类层
7、次结构http://www.wenyuan.com.cn/webnew/8.2.2字符流读取器(Reader)和写出器(Writer)是所有字符流的超类,它们是直接继承Object类的抽象类。Reader和Writer可读写16位的字符流。作为抽象类,Reader和Writer必须被子类化才能实现字符流的读写工作。Java字符输入输出流的类层次结构大致如下图所示。字符输入流的类层次结构字符输出流的类层次结构在图中,虚线框表示的字符流对象用于连接具体的数据源或目标;实线框表示的字符流,可以连接其他流,用于提供数据过滤功能。http://www.wenyuan.co
8、m.cn/webnew/
此文档下载收益归作者所有