欢迎来到天天文库
浏览记录
ID:40238753
大小:866.00 KB
页数:61页
时间:2019-07-28
《Java程序设计基础与实践费雅洁 第9章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java程序设计基础与实践主编费雅洁中国水利水电出版社第9章输入/输出操作本章导读Java应用不是一潭死水,经常需要和外界通信。流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件、内存或是网络连接。当程序需要写入数据的时候,就会开启一个通向目的地的流。Java语言中输入/输出功能是通过流类来实现的,通过流,可以让数据以与设备无关的方式流动,提高程序的通用性。本章要点·Java输入输出流分类·Java字节流、字符流、过滤流·Java文件操作类·Java标准输入输出流·Java
2、对象序列化机制9.1基础知识9.1.1Java输入/输出概述Java流分很多种。按照流中数据流动的方向,可分为输入流和输出流,若数据是从程序外部流入程序内部,则称为输入流,若从程序内部流到程序外部,则称为输出流;按照流数据处理的基本单位,可分为字节流和字符流,若流中数据的基本单位是字节,则称为字节流,若基本单位是字符,则称为字符流;按照流功能的不同,可分为节点流和处理流,若流是直接从特定设备读出的,例如从磁盘或者内存读出,那么叫做节点流,使用节点流作为输入或者输出的流叫做处理流,也叫过滤流,或者转换流。下面介绍几种重要
3、的输入输出流和Java提供的输入输出类。9.1.2字节流InputStram和OutputStream是java.io包中定义的两个抽象类,是所有字节流的父类。⑴InputStream类InputStream是基本的输入流类,它是一个抽象类,它定义了输入流类共同的特性,是所有字节输入流的父类,字节输入流类的继承关系如图9.1所示。InputStream类常用方法方法说明available()返回当前输入流的数据读取方法可以读取的有效字节数量read()从输入流的当前位置处读入一个字节(8位)的二进制数据,如果输入流的当
4、前位置没有数据,则返回−1read(byteb[],b)从输入流读取字节并存入数组b,返回读入的字节数目read(byteb[],b,intoffset,intlen)从输入流读取从第offset个字节开始长度为len的字节并存入数组bclose()关闭输入流并释放资源markSupperted()返回布尔值,说明输入流能否做标记skip(longn)将指针从当前位置向后跳动n个字节mark()在指针位置做一个标记。mark(intreadlimit)为当前流做标记,其参数说明在标记失效前可以读多少字节,这个值通常也设
5、定了流的缓冲区大小reset()将指针移动到最后一次调用mark()方法的标记位置⑵OutputStream类OutputStream是所有表示输出流的父类,它是一个抽象类,它定义了输出流类共同的特性,是锁有字节输出流的父类OutputStream类常用方法方法说明write(intb)参数b的低位字节写入输出流write(byteb[])将byte型数组b中的全部字节顺序写入到输出流write(byteb[],intoffset,intlen)将byte型数组b中从第offset个字节开始长度为len的字节顺序写入到
6、输出流flush()强制清空缓冲区,并将缓冲区中的现有数据输出close()关闭输出流并释放资源⑶FileInputStream类Java提供了专门的类对文件进行输入输出操作。例如FileInputStream和FileOutputStream,这两个类都属于字节流,它们对数据进行读写的基本单位是字节。FileInputStream类是InputStream的子类,它实现了对文件的读取,是文件字节输入流。FileInputStream类常用构造方法构造方法说明FileInputStream(StringfilePath
7、)根据filePath指定的文件名称和路径创建FileIutputStream类实例对象FileInputStream(Filefile)使用File类型的文件对象创建FileIutputStream类实例对象⑷FileOutputStream类FileOutputStream类是OnputStream的子类,它实现了对文件的写入,是文件字节输出流。构造方法说明FileOutputStream(StringfilePath)根据filePath指定的文件名称和路径创建FileOutputStream类实例对象FileO
8、utputStream(Filefile)使用File类型的文件对象创建FileOutputStream类实例对象importjava.io.*;classReadWriteFile{publicstaticvoidmain(String[]args){Stringfile1,file2;intch=0;file1="readme
此文档下载收益归作者所有