第10章 输入输出处理.ppt
《第10章 输入输出处理.ppt》由会员分享,可在线阅读,更多相关《第10章 输入输出处理.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java第第1010章章 输入输出处理输入输出处理 Javajava.iojava.iojava.iojava.io包包包包 2字节流字节流字节流字节流4输入输出流简介输入输出流简介输入输出流简介输入输出流简介3 1文件文件文件文件3 3RandomAccessFileRandomAccessFileRandomAccessFileRandomAccessFile 类类类类 6字符流字符流字符流字符流3 5本章内容提要本章内容提要 Java10.1 10.1 输入输出流简介输入输出流简介 流是指在计算机的输入与输出之间运动的数流是指在计算机的输入与输出之间运动的数流是指在计算机的输入与输出之间
2、运动的数流是指在计算机的输入与输出之间运动的数据序列。据序列。据序列。据序列。根据操作类型的不同,流可以分为输入流和根据操作类型的不同,流可以分为输入流和根据操作类型的不同,流可以分为输入流和根据操作类型的不同,流可以分为输入流和输出流。用来从程序中读取数据的流称为输入流,输出流。用来从程序中读取数据的流称为输入流,输出流。用来从程序中读取数据的流称为输入流,输出流。用来从程序中读取数据的流称为输入流,而用来向程序中写入数据的流称为输出流。而用来向程序中写入数据的流称为输出流。而用来向程序中写入数据的流称为输出流。而用来向程序中写入数据的流称为输出流。输入输出系统通过流与物理设备相连接,尽输入
3、输出系统通过流与物理设备相连接,尽输入输出系统通过流与物理设备相连接,尽输入输出系统通过流与物理设备相连接,尽管与它们连接的物理设备不尽相同,但所有的流管与它们连接的物理设备不尽相同,但所有的流管与它们连接的物理设备不尽相同,但所有的流管与它们连接的物理设备不尽相同,但所有的流的行为具有同样的方式。的行为具有同样的方式。的行为具有同样的方式。的行为具有同样的方式。Java10.2 10.2 java.iojava.io包包 Java Java中数据输入输出的所有功能都是通过中数据输入输出的所有功能都是通过中数据输入输出的所有功能都是通过中数据输入输出的所有功能都是通过java.iojava.i
4、o包中的类和接口完成。包中的类和接口完成。包中的类和接口完成。包中的类和接口完成。Java10.3 10.3 文件文件 Java Java Java Java中的抽象类中的抽象类中的抽象类中的抽象类FileFileFileFile提供了一些方法来操纵文提供了一些方法来操纵文提供了一些方法来操纵文提供了一些方法来操纵文件和获得文件的信息。件和获得文件的信息。件和获得文件的信息。件和获得文件的信息。创建文件对象创建文件对象 File File File File类的对象主要用来获取文件本身的一些信类的对象主要用来获取文件本身的一些信类的对象主要用来获取文件本身的一些信类的对象主要用来获取文件本身的
5、一些信息,不涉及对文件的读写操作。息,不涉及对文件的读写操作。息,不涉及对文件的读写操作。息,不涉及对文件的读写操作。JavaJavaJavaJavaJava提供了三种构造方法来创建一个文件对象。提供了三种构造方法来创建一个文件对象。提供了三种构造方法来创建一个文件对象。提供了三种构造方法来创建一个文件对象。File(StringFile(StringFile(StringFile(String filename)filename)filename)filename)File(StringFile(StringFile(StringFile(String directoryPath,Strin
6、gdirectoryPath,StringdirectoryPath,StringdirectoryPath,String filename)filename)filename)filename)File(FileFile(FileFile(FileFile(File f,String filename)f,String filename)f,String filename)f,String filename)10.3 10.3 文件文件 Java /根据参数指定的文件路径来创建一个根据参数指定的文件路径来创建一个根据参数指定的文件路径来创建一个根据参数指定的文件路径来创建一个FileFile
7、文件对象文件对象文件对象文件对象 File file1=new File(File file1=new File(c:testabcc:testabc.txt);.txt);/根据给定的目录来创建一个根据给定的目录来创建一个根据给定的目录来创建一个根据给定的目录来创建一个FileFile对象,指定其目录对象,指定其目录对象,指定其目录对象,指定其目录和文件名和文件名和文件名和文件名 File file2=new File(File file2=new File(c:test,abcc:test,abc.txt);.txt);/根据已知的目录文件对象根据已知的目录文件对象根据已知的目录文件对象根
8、据已知的目录文件对象FileFile来创建一个新的来创建一个新的来创建一个新的来创建一个新的FileFile实体对象实体对象实体对象实体对象 File file3=new File(fiie2,abc.txt);File file3=new File(fiie2,abc.txt);10.3 10.3 文件文件 Java 以上三种方法只是生成一个文件对象,但没以上三种方法只是生成一个文件对象,但没以上三种方法只是生成一个文件对象,但没以上三种方法只是生成一个文件对象,但没有生成真正的文件,如果要生成实实在在的文件,有生成真正的文件,如果要生成实实在在的文件,有生成真正的文件,如果要生成实实在在的
9、文件,有生成真正的文件,如果要生成实实在在的文件,就需要调用就需要调用就需要调用就需要调用createNewFilecreateNewFile()()方法。方法。方法。方法。例例例例10-110-110-110-1创建文件对象创建文件对象创建文件对象创建文件对象10.3 10.3 文件文件 Java方法方法方法方法返回值返回值返回值返回值参数参数参数参数含义含义含义含义canReadboolean无检查文件里的数据是否可读canWriteboolean无检查是否可以写入数据到文件中createNewFileboolean无产生一个空的文件deleteboolean文件名删除文件existsbo
10、olean无文件是否存在文件操作文件操作 File File File File类所提供的方法分为两类,一类针对文类所提供的方法分为两类,一类针对文类所提供的方法分为两类,一类针对文类所提供的方法分为两类,一类针对文件的处理,另一类针对目录的处理。件的处理,另一类针对目录的处理。件的处理,另一类针对目录的处理。件的处理,另一类针对目录的处理。10.3 10.3 文件文件 Java 例例例例10-2 10-2 10-2 10-2 获取文件的信息获取文件的信息获取文件的信息获取文件的信息Name:Test10_2.javaName:Test10_2.javaName:Test10_2.javaNa
11、me:Test10_2.javaPath:C:Test10_2.javaPath:C:Test10_2.javaPath:C:Test10_2.javaPath:C:Test10_2.java文件存在文件存在文件存在文件存在文件是可读的文件是可读的文件是可读的文件是可读的文件是可写的文件是可写的文件是可写的文件是可写的文件长度为文件长度为文件长度为文件长度为424 bytes.424 bytes.424 bytes.424 bytes.10.3 10.3 文件文件 Java目录操作目录操作 1 1 1 1创建目录创建目录创建目录创建目录 Java Java Java Java提供了提供了提供了
12、提供了FileFileFileFile类的重载构造方法来生成一个类的重载构造方法来生成一个类的重载构造方法来生成一个类的重载构造方法来生成一个目录对象。通过该构造方法只是生成一个目录对象,目录对象。通过该构造方法只是生成一个目录对象,目录对象。通过该构造方法只是生成一个目录对象,目录对象。通过该构造方法只是生成一个目录对象,如果要生成实实在在的目录,就需要调用如果要生成实实在在的目录,就需要调用如果要生成实实在在的目录,就需要调用如果要生成实实在在的目录,就需要调用mkdirmkdirmkdirmkdir()()()()方方方方法。法。法。法。File(StringFile(StringFil
13、e(StringFile(String directoryPathdirectoryPathdirectoryPathdirectoryPath)10.3 10.3 文件文件 Java2 2 2 2列出目录中的文件列出目录中的文件列出目录中的文件列出目录中的文件 如果如果如果如果FileFileFileFile对象是一个目录,那么该对象可以对象是一个目录,那么该对象可以对象是一个目录,那么该对象可以对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录:调用下述方法列出该目录下的文件和子目录:调用下述方法列出该目录下的文件和子目录:调用下述方法列出该目录下的文件和子目录:publ
14、ic String list()public String list()public String list()public String list()/用字符串形式返回目录下的全部文件用字符串形式返回目录下的全部文件用字符串形式返回目录下的全部文件用字符串形式返回目录下的全部文件 public File public File public File public File listFileslistFileslistFileslistFiles()()()()/用用用用FileFileFileFile对象形式返回目录下的全部文件对象形式返回目录下的全部文件对象形式返回目录下的全部文件对象形
15、式返回目录下的全部文件10.3 10.3 文件文件 Java Java Java Java Java中可以使用中可以使用中可以使用中可以使用FileFileFileFile类的下述两个方法,列出指定类的下述两个方法,列出指定类的下述两个方法,列出指定类的下述两个方法,列出指定类型的文件:类型的文件:类型的文件:类型的文件:public String public String public String public String list(FilenameFilterlist(FilenameFilterlist(FilenameFilterlist(FilenameFilterobjobj
16、objobj)该方法用字符串形式返回目录下的指定类型的所有该方法用字符串形式返回目录下的指定类型的所有该方法用字符串形式返回目录下的指定类型的所有该方法用字符串形式返回目录下的指定类型的所有文件。文件。文件。文件。public File public File public File public File listFiles(FilenameFilterlistFiles(FilenameFilterlistFiles(FilenameFilterlistFiles(FilenameFilter objobjobjobj)该方法用该方法用该方法用该方法用FileFileFileFile对象返
17、回目录下的指定类型所有文件。对象返回目录下的指定类型所有文件。对象返回目录下的指定类型所有文件。对象返回目录下的指定类型所有文件。10.3 10.3 文件文件 Java 例例例例10-3 10-3 10-3 10-3 列出列出列出列出 c:java c:java c:java c:java 目录下的所有目录下的所有目录下的所有目录下的所有javajavajavajava文件文件文件文件 FilenameFileFilenameFileFilenameFileFilenameFile是一个接口,该接口有一个方法:是一个接口,该接口有一个方法:是一个接口,该接口有一个方法:是一个接口,该接口有一个
18、方法:public public public public booleanbooleanbooleanboolean accept(Fileaccept(Fileaccept(Fileaccept(File dir,Stringdir,Stringdir,Stringdir,String name)name)name)name)10.3 10.3 文件文件 Java运行可执行文件运行可执行文件 当要执行一个本地机器上的可执行文件时,当要执行一个本地机器上的可执行文件时,可以使用可以使用java.langjava.lang包中的包中的RuntimeRuntime类。首先使用类。首先使用Runt
19、imeRuntime类声明一个对象,然后使用该类的静态类声明一个对象,然后使用该类的静态getRuntimegetRuntime()()方法创建这个对象。方法创建这个对象。例如:例如:Runtime Runtime ecec;ecec=Runtime.getRuntimeRuntime.getRuntime();();10.3 10.3 文件文件 Java10.4 10.4 字节流字节流 抽象类抽象类抽象类抽象类InputStreamInputStreamInputStreamInputStream是所有字节输入流的基是所有字节输入流的基是所有字节输入流的基是所有字节输入流的基类,抽象类类,抽
20、象类类,抽象类类,抽象类OutputStreamOutputStreamOutputStreamOutputStream是所有字节输出流的基是所有字节输出流的基是所有字节输出流的基是所有字节输出流的基类。类。类。类。因为因为因为因为InputStreamInputStreamInputStreamInputStream和和和和OutputStreamOutputStreamOutputStreamOutputStream都是抽象都是抽象都是抽象都是抽象类,所以不能直接生成对象,而是要通过覆盖其类,所以不能直接生成对象,而是要通过覆盖其类,所以不能直接生成对象,而是要通过覆盖其类,所以不能直接生
21、成对象,而是要通过覆盖其抽象方法的继承类来创建程序中所需要的对象。抽象方法的继承类来创建程序中所需要的对象。抽象方法的继承类来创建程序中所需要的对象。抽象方法的继承类来创建程序中所需要的对象。JavaInputStreamInputStream类和类和OutputStreamOutputStream类类 1 1 1 1InputStreamInputStreamInputStreamInputStream 类类类类 InputStreamInputStreamInputStreamInputStream类中定义了与字节输入流操作有类中定义了与字节输入流操作有类中定义了与字节输入流操作有类中定义
22、了与字节输入流操作有关的方法,可以完成从输入流中读入数据的功能关的方法,可以完成从输入流中读入数据的功能关的方法,可以完成从输入流中读入数据的功能关的方法,可以完成从输入流中读入数据的功能.2.OutputStream 2.OutputStream 2.OutputStream 2.OutputStream类类类类 OutputStreamOutputStreamOutputStreamOutputStream类定义了所有字节输出流中的类定义了所有字节输出流中的类定义了所有字节输出流中的类定义了所有字节输出流中的方法,可以完成写入数据的功能方法,可以完成写入数据的功能方法,可以完成写入数据的功
23、能方法,可以完成写入数据的功能 10.4 10.4 字节流字节流 JavaFileInputStreamFileInputStream类和类和FileOutputStreamFileOutputStream类类 1 1 1 1FileInputStreamFileInputStreamFileInputStreamFileInputStream 类类类类创建文件输入流创建文件输入流创建文件输入流创建文件输入流 为了创建为了创建为了创建为了创建FileInputStreamFileInputStreamFileInputStreamFileInputStream 类的对象,用户可类的对象,用户可
24、类的对象,用户可类的对象,用户可以调用它的构造方法。下面列出了两个构造方法:以调用它的构造方法。下面列出了两个构造方法:以调用它的构造方法。下面列出了两个构造方法:以调用它的构造方法。下面列出了两个构造方法:FileInputStream(StringFileInputStream(StringFileInputStream(StringFileInputStream(String name)name)name)name)FileInputStream(FileFileInputStream(FileFileInputStream(FileFileInputStream(File file)f
25、ile)file)file)10.4 10.4 字节流字节流 Java处理处理处理处理 I/O I/O I/O I/O 异常异常异常异常 当使用文件输入流构造方法建立文件输入流时,当使用文件输入流构造方法建立文件输入流时,当使用文件输入流构造方法建立文件输入流时,当使用文件输入流构造方法建立文件输入流时,可能会出现可能会出现可能会出现可能会出现IOExceptionIOExceptionIOExceptionIOException程序必须使用一个程序必须使用一个程序必须使用一个程序必须使用一个try-catchtry-catchtry-catchtry-catch块检测并处理这个异常。块检测并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章 输入输出处理 10 输入输出 处理
限制150内