文档详情

Java语言程序设计 教学课件 作者 于红 第8章__IO流.ppt

发布:2017-08-15约9.04千字共44页下载文档
文本预览下载声明
流模型的最大好处是:将文件读/写、网络读/写、内存读/写等操作全部统一起来,在流的层次上达到操作的一致性,从而更简明、有效。 在java.io包中,有一些流是结点流,即它们可以从一个特定的地方读写,例如磁盘或者一块内存。其他流称作过滤器。 Java的I/O流库提供大量的流类(在java.io包中)。其中有4个重要的Abstract类: 1)InputStream(字节输入流) 2)Reader(字符输入流) 3)OutputStream(字节输出流) 4)Writer(字符输出流) 其中InputStream 和Reader类,继承自Object类,分别是所有字节输入流和字符输入流的父类。这两个类中都含有名为read()的抽象方法,用于读取单个字节或者字符。这个方法执行时,线程将被阻塞,直到读入有效数据或者抛出一个异常为止。所有InputStream和Reader的子类都必须实现read()方法。与InputStream 和Reader类相似,抽象类OutputStream和Writer类是所有字节输出流和字符输出流的父类,这两个类中都含有名为write()的抽象方法,用于写入单个字节或者字符的数据。 8.2 File类 1.File类的构造方法 File类有3个构造方法,用法如下: (1) File(String filename):构造一个File类对象,参数filename用来指定与该File类对象关联的文件名,该文件可以是已经存在的文件,也可以是不存在的文件,对于不存在的文件,可以用File的其他方法创建文件。Java把文件夹看成是特殊的文件,因此参数filename可以是路径名。 (2) File(String path, String filename):构造一个File类对象,参数path用来指定与该对象关联的文件的路径,filename用来指定与该File类对象关联的文件名,filename可以包含路径。 (3) File(File path, String filename):构造一个File类对象,参数path用来指定与该对象关联的文件的路径(该路径用一个File类对象表示,而不是用字符串表示),filename用来指定与该File类对象关联的文件名,filename可以包含路径。 2.File类的其他方法 除了构造方法之外,File类有其他方法可以用来对文件进行进一步的操作,主要操作包括:获取文件名、获取文件的属性(是否可读、是否可写、文件大小、是否文件夹、是否普通文件、是否隐藏、修改时间等)、判断文件是否存在、获取文件的路径、获取文件所属文件夹、创建文件夹、返回文件夹下的文件名。 8.3 字节流 8.3.1 InputStream 1.InputStream类的read方法 InputStream类最重要的方法是读数据的read()的方法。read()方法的功能是逐字节地以二进制的原始方式读取数据,它有三种形式: (1)public int read() throws IOException:从输入流的当前位置读取一个字节(8位)的二进制数据,然后将此数据无符号扩展为整型量(0~255)后返回给方法调用者。如果输入流的当前位置没有数据,则返回-1,表明输入流结束。 (2)public int read(byte [] b) throws IOException:从输入流的当前位置处连续读取多个字节保存在参数指定的字节数组b[]中,同时返回所读到的字节的数目。 (3)public int read(byte[] b, int off,int len) throws IOException:从输入流的当前位置处连续读取多个字节保存在参数指定的字节数组b[]中,同时返回所读到的字节的数目。参数off和len指定所要填入的数组的范围,其中,off指定read方法把数据存放在字节数组b中的什么地方,len指定将读取的最大字节数。 2.InputStream类的其他方法 除了读数据之外,还需要对流进行标记、关闭、重置等操作,InputStream的其他方法完成这些功能。 (1)public void close() throws IOException:关闭流。完成流操作之后,必须关闭这个流,close方法用来完成关闭流的操作。如果有一个流所组成的栈,使用过滤器流,就关闭栈顶部的流。这个关闭操作会关闭其余的流。 (2)public int available():报告立刻可以从流中读取的字节数。在调用available方法之后的实际读操作可能返回更多的字节数。 (3)public long skip(long):丢弃流中指定数目的字符,使位置指针从当前位置向后跳过指定数目的字节。 (4)pub
显示全部
相似文档