java程序设计教程(第2版)ch08

上传人:平*** 文档编号:48639377 上传时间:2018-07-18 格式:PPT 页数:24 大小:79.14KB
返回 下载 相关 举报
java程序设计教程(第2版)ch08_第1页
第1页 / 共24页
java程序设计教程(第2版)ch08_第2页
第2页 / 共24页
java程序设计教程(第2版)ch08_第3页
第3页 / 共24页
java程序设计教程(第2版)ch08_第4页
第4页 / 共24页
java程序设计教程(第2版)ch08_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《java程序设计教程(第2版)ch08》由会员分享,可在线阅读,更多相关《java程序设计教程(第2版)ch08(24页珍藏版)》请在金锄头文库上搜索。

1、第八章 Java的输入输出流 8.1 流的基本概念 8.1.1数据流在面向对象的程序设计语言中,用数据流来实现 输入和输出。数据流是指一组有序的、有起点和终点 的字节集合。 输入流和输出流 输入流(Inputstream)用于将程序中需要的数据从键 盘或文件中读入。 输出流(OutputStream)用于将程序中产生的数据写到 文件中或在屏幕上显示、在打印机上打印出来。 缓冲流 Java中的缓冲流(buffer stream),就是为数据流配的 一个缓冲区,即专门用于传送数据的一块内存区域。8.1.2 Java的标准输入输出 用键盘输入数据是标准输入(stdin) 以屏幕为对象的输出是标准输出

2、(stdout) 以屏幕为对象的标准错误输出(stderr)。 System.in in是字节输入流InputStream的对象,其中有read方 法从键盘读入数据public int read( ) throws IOExceptionpublic int read(byte b) throws IOException System.out out是流PrintStream的对象,其中有print和println 方法向屏幕输出数据。public void print(输出参数)public void println(输出参数)8.2 字节流和顺序文件的读写 8.2.1 InputStrea

3、m和OutputStream类作为面向字节的输入输出流的超类,这两个类 中提供了许多用于字节输入输出的方法 。 8.2.2文件字节输入输出流 FileInputStream和FileOutputStream实现了对文件 的顺序访问,以字节为单位对文件进行读写操作, 主要有这样几步: 创建文件输入输出流的对象 打开文件 用文件读写方法读写数据 关闭数据流。8.2.3 创建文件输入输出流对象,打开文件 创建FileInputStream的对象,打开要读取数据的文件 FileInputStream的构造方法是: public FileInputStream(String name) throws F

4、ileNotFoundException public FileInputStream(File file) throws FileNotFoundException 其中:name是要打开的文件名,file是文件类File的对象 如下面语句可以创建文件的输入流对象,并打开要读取 数据的文件c:javafilepro1.java:FileInputStream rf=new FileInputStream(“c:javafilepro1.java”); 创建FileOutputStream的对象,打开要写入数据的文件 FileOutputStream的构造方法是: public FileOut

5、putStream(String name) throws FileNotFoundException public FileOutputStream(String.name,Boolean append) throws FileNotFoundException public FileOutputStream(File fiel) throws FileNotFoundException 其中:name是要打开的文件名,file是文件类File的对象 。如下面语句可以创建文件的输出流对象,并打开要写入 数据的文件c:javafilepro2.java: FileOutputStream wf

6、=new FileOutputStream(“c:javafilepro2.java”);8.2.4 对文件进行读写的方法 用read方法读取文件的数据public int read( ) throws IOException 返回从文件中读取的一个字节。public int read(byte b) throws IOExceptionpublic int read(byte b,int off,int len) throws IOException 从文件中读取若干个字节到字节数组b中。其中off是b 中的起始位置,len是读取的最大长度。这两个方法返 回读取的字节数。如果b的长度为0,返

7、回0。 用write方法将数据写入文件public void write(int b) throws IOException 向文件写入一个字节,b是int类型,所以将b的低8位 写入。public void write(byte b) throws IOExceptionpublic void write(byte b,int off,int len) throws IOException 将字节数组写入文件,其中off是b中的起始位置, len是写入的最大长度。8.2.5 字节文件流的关闭 当读写操作完毕时,要关闭输入或输出流,释放相 关的系统资源。如果发生I/O错误,抛出IOExcept

8、ion 异常。关闭数据流的方法是:public void close( ) throws IOException8.3 字符流 8.3.1 Reader和Writer类Reader和Writer类是面向字符输入输出流的超类 ,在这两个类中有许多以字符为单位的输入输出方法 。 8.3.2字符文件流FileReader和FileWriter类 FileReader和Filewriter类用于字符文件的输入和输出 。 先创建对象打开文件 然后用读写方法从文件中读取数据或将数据写入文 件 最后关闭数据流。8.3.3创建字符流文件对象,打开文件 创建FileReader或Filewriter对象,打开要

9、读写的文 件。FileReader和FileWriter的构造方法如下: FileReader的构造方法是:public FileReader(String filename)public FileReader(File file) FileWriter的构造方法是: public FlieWriter(String filename) public Filewriter(File file) 其中:filename是要打开的文件名,file是文件类。8.3.4字符文件流的读写用从超类继承的read和write方法可以对打开的文 件进行读写。 读取文件数据的方法:int read( ) thr

10、ows IOException 返回读取的一个字符(用整型表示)。int read(char b ) throws IOExceptionint read(char b ,int off,int len) throws IOException 读取文件中的数据到数组中,其中off为在b中的起始 位置,len为要读入的字符数。这两个方法返回实际读 入的字符个数。数据写入到文件的方法:void write(char b) throws IOExceptionvoid write(char b ) throws IOExceptionvoid write(char b ,int off,int le

11、n) throws IOException将字符b或字符数组b写入文件,其中off为在b中的 起始位置,len为要写入的字符数8.3.5字符文件流的关闭 对文件操作完毕要用close方法关闭数据流。 public void close( ) throws IOException8.3.6字符缓冲流BufferedReader和BufferedWriter BufferedReader和BufferedWriter类以缓冲区方式对 数据进行输入输出。 BufferedReader类 类BufferedReader用于字符缓冲输入,其构造方法如 下:public BufferedReader(Re

12、ader in)public BufferedReader(Reader in,int sz) 其中:in为超类Reader的对象,sz为用户设定的缓冲 区大小。 BufferedWriter类类Bufferedwriter用于字符缓冲流的输出,其构 造方法如下:public BufferedWriter(Writer out)public Bufferedwriter(Writer out,int sz) 其中:out为超类Writer的对象,sz为用户设定的缓 冲区大小。8.4 文件类 8.4.1文件类File 类File提供了对文件的操作。 类file的构造函数是:public File

13、(String pathname)public File(File parent,String child)public File(String parent,String child) 其中:child是文件名,parent是文件所在的路径名 ,pathname是路径名。路径名可以是字符串,也可 以是File的对象。8.4.2 File类的方法 访问文件对象 public String getName( ) /返回文件(对象)名,不含路径信息 public String getPath( ) /返回相对路径名和文件名 public String getAbsolutePath /返回绝对路径

14、和文件名 public String getParent( ) /返回文件所在的路径名 public File getParentFile( ) /返回文件所在的路径对象获得文件的属性public long length( ) /返回文件的长度public Boolean exists( ) /判断文件是否存在public long lastModified( ) /返回文件的最后修改时间文件操作public Boolean renameTo(File dest) /文件重命名public Boolean delete( ) /删除文件或空目录目录操作public Boolean mkdir(

15、 ) /创建目录public String list( ) /列出目录中所有的文 件和子目录名public File listFiles( ) /列出目录中所有的文件和子目录对象8.4.3文件过滤 文件过滤就是对文件名的过滤。Java中用接口Filter 和FilenameFilter来实现这一功能。 FileFilter和FilenameFilter接口。 这两个接口中有方法accept,接口的说明如下:public interface FileFilter public Boolean accept(File pathname); 参数pathname是要过滤目录中的文件对象。public

16、 interface FilenameFilter public Boolean accept(File dir, String name); 参数dir是要过滤的目录,name是目录中的文件名。过滤功能的使用要实现过滤的功能,就要声明一个类实现Filter和 FilenameFilter接口中的方法。这个类可以作为一个过 滤器。在使用File类的list和listFiles方法时,以一个过 滤器对象作为参数,就可实现对文件名的过滤。public String list(FilenameFilter filter)public File listFiles(FilenameFilter filter)public File listFlies(FileFilter filt

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号