资源描述:
《最新Java文件与流课件ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java文件与流6.1引言和本章任务理解Java流类的层次关系;掌握InputStream和OutputStream类及其一些重要子类的用法;能区分字节流和字符流的概念;掌握随机访问文件的处理;学会利用File类来获取文件的各种信息。26.2基础知识链接3流的分类(4)Java还提供了一个File类用于获取磁盘中的文件或目录信息,File类的对象并不打开文件,也不提供任何文件处理功能。76.2.2标准输入输出(1)在JDK中提供了一个System类,该类用于管理标准输入输出流和错误流当用户开始运行Java应用程序或
2、applet时,会自动建立3个对象:System.in、System.out、Syetem.err,与这些对象相联系的流可以为程序提供与指定文件或设备间的通信信道。8标准输入输出(2)System.in是属于BufferedInputStream类型System.out是属于PrintStream类型System.err也是属于PrintStream类型9PrintStream类PrintStream类println()是PrintStream类的方法,能提供复杂的输出PrintStream类的方法有:write,
3、flush,checkError,print,println,close.其中println可以输出多种形式的数据.例如:println(Strings),println(charc)等106.2.3字节流InputStream类和OutputStream类用于来处理字节流,前面介绍了,这两个类都是抽象类,它们分别为其子类定义了文件处理一些通用处理方法。11字节流(2):InputStream类属于InputStream类的方法有:read():从流中读入数据skip():跳过流中若干字节数available():
4、返回流中可用字节数mark():在流中标记一个位置reset():返回标记过的位置markSupport():是否支持标记和复位操作close():关闭流12字节流(3):InputStream类InputStream类重要的子类有:FileInputStream,FilterInputStream,PipedInputStream13字节流(4):OutputStream类属于OutputStream类的方法有:write(intb):将一个整数输出到流中write(byteb[]):将数组中的数据输出到流中wr
5、ite(byteb[],intoff,intlen):将数组b中从off指定的位置开始len长度的数据输出到流中flush():将缓冲区中的数据强制送出close():关闭流14字节流(5):OutputStream类OutputStream类重要的子类有:FileOutputStream,FilterOutputStream,PipedOutputStream15文件输入输出流从磁盘文件中读取数据,或者将数据写入文件,需要用文件输入、输出流类FileInputStream和FileOutputStream。例如:
6、FilemyFile=newFile(“MyFile”);DataInputStreamdin=newDataInputStream(newFileInputStream(MyFile);DataOutputStreamdout=newDataOutputStream(newFileOutputStream(MyFile);16过滤流FilterInputStream和FilterOutputStream提供了一些额外的功能,这些功能提供监视行号、缓冲功能等。其重要的子类有:BufferedInputStream,
7、DataInputStream17缓冲区流(1)增加缓冲区流,减少访问硬盘的次数,提高效率文件文件流缓冲区流file1.txtfile2.txt输入流输出流输入缓冲区输出缓冲区18缓冲区流(2)缓冲区流:BufferedInputStream和BufferedOutputStream将它们与文件流相接FileInputStreamin=newFileInputStream(“file1.txt”);BufferedInputStreambin=newBufferedInputStream(in,256);//256
8、字节大小的buffer19缓冲区流(3)只有缓冲区满时,才会将数据送到输出流.Java在输出数据流中,当对方尚未将数据取走时,程序就会被阻塞.有时要人为地将尚未填满的缓冲区中的数据送出,使用flush()方法.文件20数据输入输出流(1)文件流和缓冲区流的处理对象是字节或字节数组,利用数据输入输出流可以实现对文件的不同数据类型的读写.DataInputStr