《第10章 输入输出处理.ppt》由会员分享,可在线阅读,更多相关《第10章 输入输出处理.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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块检测并处理这个异常。块检测并
26、处理这个异常。块检测并处理这个异常。块检测并处理这个异常。为了把一个文件输入流对象与一个文件关联起来,为了把一个文件输入流对象与一个文件关联起来,为了把一个文件输入流对象与一个文件关联起来,为了把一个文件输入流对象与一个文件关联起来,使用类似于下面所示的代码:使用类似于下面所示的代码:使用类似于下面所示的代码:使用类似于下面所示的代码:try /try /try /try /创建输入流创建输入流创建输入流创建输入流FileInputStreamFileInputStreamFileInputStreamFileInputStream ins=new ins=new ins=new ins=ne
27、w FileInputStream(myfile.datFileInputStream(myfile.datFileInputStream(myfile.datFileInputStream(myfile.dat););););catch(catch(catch(catch(IOExceptionIOExceptionIOExceptionIOException e)e)e)e)System.out.println(FileSystem.out.println(FileSystem.out.println(FileSystem.out.println(File read error:+e);r
28、ead error:+e);read error:+e);read error:+e);10.4 10.4 字节流字节流 Java从输入流中读取字节从输入流中读取字节从输入流中读取字节从输入流中读取字节 输入流的作用是提供通往数据的通道,程序输入流的作用是提供通往数据的通道,程序输入流的作用是提供通往数据的通道,程序输入流的作用是提供通往数据的通道,程序可以通过这个通道读取数据。可以通过这个通道读取数据。可以通过这个通道读取数据。可以通过这个通道读取数据。JavaJavaJavaJava中的中的中的中的read()read()read()read()方方方方法完成了从输入流中读取数据的功能。法
29、完成了从输入流中读取数据的功能。法完成了从输入流中读取数据的功能。法完成了从输入流中读取数据的功能。read()read()read()read()方方方方法的格式如下:法的格式如下:法的格式如下:法的格式如下:intintintint read();read();read();read();intintintint read(byteread(byteread(byteread(byte b);b);b);b);intintintint read(byteread(byteread(byteread(byte b,b,b,b,intintintint off,off,off,off,inti
30、ntintint lenlenlenlen););););10.4 10.4 字节流字节流 Java 关闭流关闭流关闭流关闭流 如果没有关闭那些被打开的流,当另一个程如果没有关闭那些被打开的流,当另一个程如果没有关闭那些被打开的流,当另一个程如果没有关闭那些被打开的流,当另一个程序试图打开这个流时,则可能会出现错误。序试图打开这个流时,则可能会出现错误。序试图打开这个流时,则可能会出现错误。序试图打开这个流时,则可能会出现错误。关闭输出流的另一个原因是把该流缓冲区的关闭输出流的另一个原因是把该流缓冲区的关闭输出流的另一个原因是把该流缓冲区的关闭输出流的另一个原因是把该流缓冲区的内容冲洗掉。内容
31、冲洗掉。内容冲洗掉。内容冲洗掉。10.4 10.4 字节流字节流 Java2 2 2 2FileOutputStreamFileOutputStreamFileOutputStreamFileOutputStream 类类类类 FileOutputStreamFileOutputStreamFileOutputStreamFileOutputStream提供了文件的写入能力。提供了文件的写入能力。提供了文件的写入能力。提供了文件的写入能力。FileOutputStreamFileOutputStreamFileOutputStreamFileOutputStream类有类有类有类有2 2 2
32、2个构造方法:个构造方法:个构造方法:个构造方法:FileOutputStream(StringFileOutputStream(StringFileOutputStream(StringFileOutputStream(String name)name)name)name)FileOutputStream(FileFileOutputStream(FileFileOutputStream(FileFileOutputStream(File file)file)file)file)可以使用可以使用可以使用可以使用 write write write write 方法把字节发送给输出流,方法把字
33、节发送给输出流,方法把字节发送给输出流,方法把字节发送给输出流,如下所示:如下所示:如下所示:如下所示:public void public void public void public void write(bytewrite(bytewrite(bytewrite(byte b)b)b)b)public public public public void.write(bytevoid.write(bytevoid.write(bytevoid.write(byte b,intb,intb,intb,int off,intoff,intoff,intoff,int lenlenlenlen
34、)10.4 10.4 字节流字节流 Java 例例10-6 10-6 使用字节流写文件使用字节流写文件10.4 10.4 字节流字节流 Java10.5 10.5 字符流字符流 1.Reader 1.Reader 1.Reader 1.Reader和和和和Writer Writer Writer Writer 对字符文件(如文本文件)的处理是以对字符文件(如文本文件)的处理是以对字符文件(如文本文件)的处理是以对字符文件(如文本文件)的处理是以UnicodeUnicodeUnicodeUnicode字符为基本单位的。字符为基本单位的。字符为基本单位的。字符为基本单位的。ReaderReader
35、ReaderReader和和和和WriterWriterWriterWriter就解决了这个就解决了这个就解决了这个就解决了这个问题,它们可以以字符为单位处理数据流。问题,它们可以以字符为单位处理数据流。问题,它们可以以字符为单位处理数据流。问题,它们可以以字符为单位处理数据流。Reader Reader Reader Reader和和和和WriterWriterWriterWriter也是两个抽象基类,只是提供也是两个抽象基类,只是提供也是两个抽象基类,只是提供也是两个抽象基类,只是提供了一些用于字符流处理的方法,本身不能用来生成了一些用于字符流处理的方法,本身不能用来生成了一些用于字符流处
36、理的方法,本身不能用来生成了一些用于字符流处理的方法,本身不能用来生成实例。实例。实例。实例。JavaJavaJavaJava类库中所有进行字符流处理的类都基于类库中所有进行字符流处理的类都基于类库中所有进行字符流处理的类都基于类库中所有进行字符流处理的类都基于ReaderReaderReaderReader和和和和WriterWriterWriterWriter这两个类。这两个类。这两个类。这两个类。Java方法方法方法方法含义含义含义含义int read()读取单一字符long skip(long n)跳过数据流中的n个字符void mark()在流中标记一个位置void reset()返
37、回到流中标记的位置boolean ready()测试流是否可读取boolean markSupport()返回一个boolean值,描述流是否支持标记和复位10.5 10.5 字符流字符流 Java方法方法方法方法含义含义含义含义void close()关闭流void flush()将缓冲区的数据输出到流void write(char char)将一个字符数组输出到流void write(char char,int offset,int length)将一个数组内从offset起的length长的字符串输出到流10.5 10.5 字符流字符流 Java 2.FileReader 2.FileR
38、eader 2.FileReader 2.FileReader类和类和类和类和FileWriterFileWriterFileWriterFileWriter类类类类 FileReaderFileReaderFileReaderFileReader和和和和FileWriterFileWriterFileWriterFileWriter类分别是类分别是类分别是类分别是ReaderReaderReaderReader和和和和WriterWriterWriterWriter的子类。的子类。的子类。的子类。类类类类FileReaderFileReaderFileReaderFileReader创建了一
39、个可以读取文件内容的创建了一个可以读取文件内容的创建了一个可以读取文件内容的创建了一个可以读取文件内容的ReaderReaderReaderReader类。它最常用的构造方法如下:类。它最常用的构造方法如下:类。它最常用的构造方法如下:类。它最常用的构造方法如下:public public public public FileReader(StringFileReader(StringFileReader(StringFileReader(String filePathfilePathfilePathfilePath)public public public public FileReader
40、(FileFileReader(FileFileReader(FileFileReader(File fileObjfileObjfileObjfileObj)10.5 10.5 字符流字符流 Java类类类类FileWriterFileWriterFileWriterFileWriter创建一个可以写文件的创建一个可以写文件的创建一个可以写文件的创建一个可以写文件的WriterWriterWriterWriter类。类。类。类。它最常用的构造方法如下:它最常用的构造方法如下:它最常用的构造方法如下:它最常用的构造方法如下:public public public public FileWri
41、ter(StringFileWriter(StringFileWriter(StringFileWriter(String filePathfilePathfilePathfilePath)public public public public FileWriter(StringFileWriter(StringFileWriter(StringFileWriter(String filePath,booleanfilePath,booleanfilePath,booleanfilePath,boolean append)append)append)append)public public p
42、ublic public FileWriter(FileFileWriter(FileFileWriter(FileFileWriter(File fileObjfileObjfileObjfileObj)10.5 10.5 字符流字符流 Java3.BufferedReader3.BufferedReader3.BufferedReader3.BufferedReader类和类和类和类和BufferedWriterBufferedWriterBufferedWriterBufferedWriter类类类类 BufferedReaderBufferedReaderBufferedReaderB
43、ufferedReader类的构造方法如下:类的构造方法如下:类的构造方法如下:类的构造方法如下:BufferedReaderBufferedReaderBufferedReaderBufferedReader(Reader in)(Reader in)(Reader in)(Reader in)例如:例如:例如:例如:BufferedReaderBufferedReaderBufferedReaderBufferedReader in=in=in=in=BufferedReader(newBufferedReader(newBufferedReader(newBufferedReader(n
44、ew FileReader(Student.txtFileReader(Student.txtFileReader(Student.txtFileReader(Student.txt););););BufferedReaderBufferedReaderBufferedReaderBufferedReader流能够读取文本行,方法是流能够读取文本行,方法是流能够读取文本行,方法是流能够读取文本行,方法是readLinereadLinereadLinereadLine()()()()。10.5 10.5 字符流字符流 Java 可以将可以将可以将可以将BufferedWriterBuffered
45、WriterBufferedWriterBufferedWriter流和流和流和流和FileWriterFileWriterFileWriterFileWriter流连流连流连流连接在一起,然后使用接在一起,然后使用接在一起,然后使用接在一起,然后使用BufferedWriterBufferedWriterBufferedWriterBufferedWriter流将数据以流将数据以流将数据以流将数据以确定长度字符串的形式写到目的地确定长度字符串的形式写到目的地确定长度字符串的形式写到目的地确定长度字符串的形式写到目的地.例如:例如:例如:例如:FileWriterFileWriterFileW
46、riterFileWriter tofiletofiletofiletofile=new =new =new =new FileWriter(hello.txtFileWriter(hello.txtFileWriter(hello.txtFileWriter(hello.txt););););BufferedWriterBufferedWriterBufferedWriterBufferedWriter out=out=out=out=BufferedWriter(tofileBufferedWriter(tofileBufferedWriter(tofileBufferedWriter(t
47、ofile););););10.5 10.5 字符流字符流 Java 例例例例10-710-710-710-7文件编辑文件编辑文件编辑文件编辑1.1.1.1.下面关于下面关于下面关于下面关于JavaJavaJavaJava中的类的说法正确的是()。中的类的说法正确的是()。中的类的说法正确的是()。中的类的说法正确的是()。A.J2SE A.J2SE A.J2SE A.J2SE B.JRE B.JRE B.JRE B.JRE C.J2EE C.J2EE C.J2EE C.J2EE D.J2ME D.J2ME D.J2ME D.J2ME答案:答案:答案:答案:ACDACDACDACD10.5 1
48、0.5 字符流字符流 Java10.6 10.6 RandomAccessFileRandomAccessFile 类类 Java Java Java Java语言中还定义了另一个功能更强大、使语言中还定义了另一个功能更强大、使语言中还定义了另一个功能更强大、使语言中还定义了另一个功能更强大、使用更方便的用更方便的用更方便的用更方便的RandomAccessFileRandomAccessFileRandomAccessFileRandomAccessFile类,它可以实现对类,它可以实现对类,它可以实现对类,它可以实现对文件的随机读写操作。文件的随机读写操作。文件的随机读写操作。文件的随机读
49、写操作。RandomAccessFileRandomAccessFileRandomAccessFileRandomAccessFile类既不是输入流的子类,类既不是输入流的子类,类既不是输入流的子类,类既不是输入流的子类,也不是输出流的子类,但是也不是输出流的子类,但是也不是输出流的子类,但是也不是输出流的子类,但是RandomAccessFileRandomAccessFileRandomAccessFileRandomAccessFile类类类类创建的流既可以是输入流也可以是输出流。创建的流既可以是输入流也可以是输出流。创建的流既可以是输入流也可以是输出流。创建的流既可以是输入流也可以是
50、输出流。Java1 1 1 1创建创建创建创建RandomAccessFileRandomAccessFileRandomAccessFileRandomAccessFile对象对象对象对象 RandomAccessFileRandomAccessFileRandomAccessFileRandomAccessFile 类有以下两个构造方法:类有以下两个构造方法:类有以下两个构造方法:类有以下两个构造方法:RandomAccessFile(StringRandomAccessFile(StringRandomAccessFile(StringRandomAccessFile(String na