- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目标 文件 文件 文件可认为是相关记录或放在一起的数据的集合;文件可以存储在硬盘、光盘、移动存储设备上;可以以文本文档、图片、程序等方式存储 。 在Java中,提供了对文件及目录进行操作的File类。File对象既可以表示文件,也可以表示目录,在Java程序中,一个File对象可以代表一个文件或目录。 利用它可以用来对文件或目录及其属性进行基本操作。利用File对象可以获取与文件相关的信息,如名称、最后修改日期、文件大小等。 File类实例 创建一个File对象,检验文件是否存在,若不存在就创建,然后对File类的部分操作进行演示,如文件的名称、大小等。 文件列表器 list、listFiles方法 在File类中,可以使用列表(list)方法,把某个目录中的文件或目录依次列举出来,列表方法及功能说明如下表所示: 文件列表器-1 listFiles方法实例 利用列表方法将JDK根目录下的目录或文件的名称列举出来,并标明文件或目录。 代码如下: 文件列表器-2 具有过滤条件的list方法 在File的列表(list)方法中,可以接受参数FileNameFilter,通过接受这种类型的参数,可以将一些符合条件的文件列举出来 : 文件列表器-3 具有过滤条件的list方法实例 利用list方法列举出JDK根目录下的所有以html或htm为后缀的网页文件。代码如下: 流的分类 流概述 流(stream)的概念源于UNIX中管道(pipe)的概念,代表程序中数据的流通,是以先进先出方式发送信息的通道。流可以分为不同的类型,按照不同的分类方式,从不同的角度来观察,概念上会有重叠。 按照流的方向,可以将流分为如下两类: 输入流(Input Stream):只能从中读取数据,而不能向其写入数据。 输出流(Output Stream):只能向其写入数据,而不能从中读取数据。 按照流的处理的基本单位可以将流分为如下两类: 字节流:在流中处理的基本单位为字节的流 字符流:在流中处理的基本单位为字符的流 按照流的角色分,可以将流分为如下两类: 节点流:可以从/向一个特定的IO设备(如磁盘或网络)读/写数据的流,节点流又常被称为低级流(Low Level Stream),节点通常是指文件(File),内存(memory)和管道(pipe)。 过滤流:对流进行处理的流又称为过滤流。实现对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能的流。 字节流 字节流概述 InputStream和OutputStream都是用于处理字节数据。它们的读/写流的方式都是以字节单位进行的。 字节流-1 InputStream实例 利用FileInputStream把d盘中test.txt文件中的内容读取并打印在控制台上。代码如下: 字节流-2 字节流-3 字节流-4 过滤流 过滤流又分为过滤输入流和过滤输出流。过滤流实现了对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能的流。 FilterInputStream FilterInputStream为过滤输入流,其父类为InputStream类 ,而其各个子类的功能 如下表所示: 字节流-5 字节流-6 字节流-7 字符流 字符流 java.io包中提供了Reader/Writer类,它们分别表示字符输入流和字符输出流。在处理字符流时,最主要的问题是进行字符编码的转换。 Reader Reader类是表示字符输入流的所有类的父类,主要是用于从数据源按照字符的方式读取数据。其常用方法及功能如表所示: 字节流-9 字符流-1 字符流-2 对象流 对象流概述 在Java中,利用ObjectOutputStream和ObjectInputStream这两个类来实现序列化和反序列化,其中利用ObjectOutputStream类进行对象的序列化把对象写入字节流;利用ObjectInputStream类进行对象的反序列化,从一个字节流中读取一个对象。 对象序列化 对象的序列化就是把对象写到一个输出流中 ,对象的反序列化是指从一个输入流中读取一个对象。其特点如下: 对象序列化可以实现分布式对象。 在Java中对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的“深复制”,即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。 对象流-1 序列化和反序列化过程 对象流
文档评论(0)