《Java程序设计课件第七章 与数据流.ppt》由会员分享,可在线阅读,更多相关《Java程序设计课件第七章 与数据流.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java语言程序设计语言程序设计第六章第六章文件与数据处理文件与数据处理讲授人:傅晓阳教授上章回顾上章回顾1.定义一个班级类定义一个班级类StudentClass,在班级类中在班级类中有一自定义类型有一自定义类型student数组域数组域,用来定义该用来定义该班级有班级有50个学生。个学生。2.ArrayIndexOutOfBoundsExceptionArithmeticException,NumberFormatException是什么异常?是什么异常?3.异常处理的异常处理的5个关键字是什么,个关键字是什么,throw与与throws有什么区别有什么区别DavidFuDavidFu本章课
2、程纲要本章课程纲要控制台操作和文件操作控制台操作和文件操作字节流和字符流字节流和字符流DavidFuDavidFu本课程纲要本课程纲要标准输入输出流标准输入输出流字节流和字符流概述字节流和字符流概述字节流和字符流字节流和字符流数组流和字符串流数组流和字符串流数据流和缓冲流数据流和缓冲流DavidFuDavidFu字节流和字符流概述字节流和字符流概述njava.io类包中提供了两个用于字节流操作类包中提供了两个用于字节流操作的抽象类:的抽象类:nInputStreamnOutputSteamn这些类只能作为基类使用,不能独立创建实这些类只能作为基类使用,不能独立创建实例对象,必须使用其非抽象的子
3、类来实现具例对象,必须使用其非抽象的子类来实现具体操作体操作DavidFuDavidFuInputStream类的子类类的子类子类说明AudioInputStream用于读取音频数据。FileInputStream用于读取文件中的数据。FilterInputStream用于对输入流中的数据进行预操作处理。ByteArrayInputStream用于读取字节数组。PipedInputStream用于网络通信中读取管道流数据。SequenceInputStream用于读取流序列。ObjectInputStream用于读取流中的对象。DavidFuDavidFuFilterInputStream类的
4、子类类的子类子类说明BufferInputStream在内存中缓存另一个流的输入。DataInputStream从字节流中读取基本数据类型。CheckedInputStream读取输入流并进行数据的校验。CipherInputStream从加密的输入流中读取数据。DigestInputStream从输入流中读取数据并更新数据摘要。DavidFuDavidFuFilterInputStream类的子类类的子类子类说明InflaterInputStream从压缩数据流中读取数据。LineNumberInputStream从数据流中读取数据并跟踪当前行号。ProgressMonitorInputSt
5、ream读取输入流输入并使用进程监控数据流的读入。PushbackInputStream返回读入输入流至最后一个字节,以便重新阅读。DavidFuDavidFuOutputStream类的子类类的子类子类说明FileOutputStream用于写入文件中的数据。FilterOutputStream用于对输出流中的数据进行预操作处理。ByteArrayOutputStream用于写入字节数组。PipedOutputStream用于网络通信中写入管道流数据。ObjectOutputStream用于写入流中的对象。DavidFuDavidFu字节流和字符流概述字节流和字符流概述njava.io类包中
6、提供了两个用于字符流操作类包中提供了两个用于字符流操作的抽象类:的抽象类:nReadernWritern这些类只能作为基类使用,不能独立创建实这些类只能作为基类使用,不能独立创建实例对象,必须使用其非抽象的子类来实现具例对象,必须使用其非抽象的子类来实现具体操作体操作DavidFuDavidFuReader类的子类类的子类子类说明InputStreamReader用于读取字符流。FilterReader用于读取过滤处理后的流。CharArrayReader用于读取字符数组。PipedReader用于读取管道流PipeWriter中数据。StringReader用于读取字符串。BufferRea
7、der从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。DavidFuDavidFuWriter类的子类类的子类子类说明OutputStreamWriter用于写入字符流。FilterWriter用于写入过滤处理后的流。CharArrayWriter用于写入字符数组。PipedWriter用于写入管道流PipeWriter中数据。StringWriter用于写入字符串。BufferWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。PrintWriter用于文本的格式化输出。DavidFuDavidFu本课程纲要本课程纲要标准输入输出
8、流标准输入输出流字节流和字符流概述字节流和字符流概述字节流和字符流字节流和字符流数组流和字符串流数组流和字符串流数据流和缓冲流数据流和缓冲流DavidFuDavidFu标准输入输出流标准输入输出流类型域变量作用InputStreamSystem.in标准输入流主要用于接受键盘的输入。PrintStreamSystem.out标准输出流主要用于在控制台窗口输出信息。PrintStreamSystem.err标准错误流主要用于在控制台窗口输出错误信息提示。DavidFuDavidFu标准输入输出流标准输入输出流n类类java.lang.System中的成员方法用于实现重定中的成员方法用于实现重定向
9、功能:向功能:npublicstaticvoidsetIn(InputStreamin)n将标准输入流重定向到参数in指向的输入流。nPublicstaticvoidsetout(PrintStreamout)n将标准输出流重定向为参数out指向的输出流。nPublicstaticvoidsetError(PrintStreamerr)n将标准错误流重定向为参数err指向的输出流。DavidFuDavidFu本课程纲要本课程纲要标准输入输出流标准输入输出流字节流和字符流概述字节流和字符流概述字节流和字符流字节流和字符流数组流和字符串流数组流和字符串流数据流和缓冲流数据流和缓冲流DavidFuD
10、avidFu数组流数组流n字节输入流字节输入流java.io.ByteArrayInputStreamn字节输出流字节输出流java.io.ByteArrayOutputStreamn分别使用数组作为流的源和目标。分别使用数组作为流的源和目标。nByteArrayInputStream包含一个内部缓冲区,包含一个内部缓冲区,该缓冲区存储从流中读取的字节。该缓冲区存储从流中读取的字节。nByteArrayOutputStream实现一个输出流,其实现一个输出流,其中也包含一个内部缓冲区,数据被写入字节数组,缓中也包含一个内部缓冲区,数据被写入字节数组,缓冲区会随着数据的不断写入而自动增长。冲区会
11、随着数据的不断写入而自动增长。DavidFuDavidFu数组流数组流nByteArrayInputStream类的构造方法如下:类的构造方法如下:nPublicByteArrayInputStream(bytebuf)nPublicByteArrayInputStream(bytebuf,intoffset,intlength)n第一个构造方法构造的数组字节流的源是参数buf数组。n第二个构造方法构造的数组字节流的源是参数为buf的数组的部分单元,这些单元是该数组从偏置参数offset开始计算的length个字节单元。DavidFuDavidFu数组流数组流nByteArrayOutputS
12、tream类的构造方法如下:类的构造方法如下:nPublicByteArrayOutStream()nPublicByteArrayOutStream(intsize)n第一个构造方法的数组字节输出流指向一个默认大小为32字节的缓冲区。n第二个构造方法所需要的数组字节输出流缓冲区的初始大小由参数size确定。n如果写入数据大于缓冲区时,缓冲区的容量也会自动增大。DavidFuDavidFu字符串流字符串流n在在Reader类和类和Writer类中分别包含了两对子类:类中分别包含了两对子类:nCharArrayReader类和StringReader类;nCharArrayWriter类和Str
13、ingWriter类。nCharArrayReader类构造方法如下:类构造方法如下:npublicCharArrayReader(bytebuf)npublicCharArrayReader(bytebuf,intoffset,intlength)nStringReader类构造方法如下:类构造方法如下:nPublicStringReader(Stringstr)DavidFuDavidFu字符串流字符串流n将浮点类型的数据,转换成字符串进行输出:将浮点类型的数据,转换成字符串进行输出:nStringWriterstrOut=newStringWriter();nPrintWriterpWr
14、iter=newPrintWriter(strOut);nfloatf=1.5f;npWriter.println(f);nStringBufferstr=strOut.getBuffer();DavidFuDavidFu本课程纲要本课程纲要标准输入输出流标准输入输出流字节流和字符流概述字节流和字符流概述字节流和字符流字节流和字符流数组流和字符串流数组流和字符串流数据流和缓冲流数据流和缓冲流DavidFuDavidFu数据流数据流njava.io.DataInputStreamnjava.io.DataOutputStreamn用于读取与存储基本数据类型的数据。用于读取与存储基本数据类型的数据
15、。n数据输入流与输出流确保数据流的存储格式与基数据输入流与输出流确保数据流的存储格式与基本数据类型在内存中的存储格式一致本数据类型在内存中的存储格式一致n这种数据操作与系统平台的相关性较小。这种数据操作与系统平台的相关性较小。DavidFuDavidFu数据流数据流nDataInputStream的构造方法如下:的构造方法如下:PublicDataInputStream(InputStreamin)FileInputStreamfin=newFileInputStream(“DataInput.txt”);DataInputStreamdin=newDataInputStream(fin);n
16、通常也可以将以上两句合并成一条语句完成:通常也可以将以上两句合并成一条语句完成:DataInputStreamdin=newDataInputStream(newFileInputStream(“DataInput.txt”);nDataOutputStream的构造方法为:的构造方法为:nPublicDataOutputStream(OutputStreamout)n其中参数out是任何基本输出流的实例对象。DavidFuDavidFu数据流数据流成员方法成员方法说明说明readBoolean()读取一个布尔值。读取一个布尔值。readByte()读取一个字节。读取一个字节。readShor
17、t()读取一个短整型。读取一个短整型。readChar()读取一个字符。读取一个字符。readInt()读取一个整型值。读取一个整型值。readLong()读取一个长整型值。读取一个长整型值。readFloat()读取一个浮点值读取一个浮点值readDouble()读取一个双精度值读取一个双精度值readUnsignByte()读取一个无符号字节读取一个无符号字节readUnsignShort()读取一个无符号短整型值读取一个无符号短整型值DavidFuDavidFu数据流数据流readUTF()读取一个读取一个UTF-8修改版修改版编码编码skipBytes(int n)跳过给定数量跳过给定
18、数量n的字节的字节writeBoolean(Boolean b)将一个将一个booleanboolean值以一个字节值以一个字节的形式写入基础输出流。的形式写入基础输出流。writeBytes(String s)将字符串按字节顺序写出到基将字符串按字节顺序写出到基础输出流中础输出流中writeChars(String s)将字符串按字符顺序写入基础将字符串按字符顺序写入基础输出流。输出流。writeDouble(double d)写入双精度值写入双精度值DavidFuDavidFu数据流数据流writeFloat(float f)写入浮点值写入浮点值writeInt(int i)写入整型值写入
19、整型值writeLong(long l)写入长整型值写入长整型值writeShort(short s)写入短整型值写入短整型值writeUTF(String s)使用使用UTF-8修改版修改版编码将一个字符编码将一个字符串写入基础输出流。串写入基础输出流。具体用法参见实例具体用法参见实例6-1DataInoutSDavidFuDavidFu缓冲流缓冲流n对于字节流,带缓存的输入流和输出流分别为:对于字节流,带缓存的输入流和输出流分别为:njava.io.BufferedInputStream类类njava.io.BufferedOutputStream类;类;n对于字符流,带缓存的输入流和输出
20、流分别对于字符流,带缓存的输入流和输出流分别njava.io.BufferedReader类类njava.io.BufferedWriter类。类。n作作用用:在在读读取取较较多多数数据据时时,可可以以将将一一个个较较大大的的数数据据块块读读取取到到内内存存中中,或或将将在在内内存存中中一一个个比比较较大大的的数数据据块块一一次次性性写写入入到到指指定定的的数数据据终终端端中中,从从而而达达到到了了提提高大规模数据读写的效率。高大规模数据读写的效率。DavidFuDavidFu缓冲流缓冲流n类类java.io.BufferedInputStream的构造方法的构造方法为:为:npublicBu
21、fferedInputStream(InputStreamin)n参数in指定输入流对象实例为抽象基类InputStream类型的对象,根据java的多态性可知,所有InputStream类的非抽象子类的实例对象都可以作为其参数。npublicBufferedInputStream(InputStreamin,intsize)nsize表示缓冲区的大小。第一个构造方法没有指定缓冲区的大小,因此缓冲区的大小由系统指定。DavidFuDavidFu缓冲流缓冲流n类类java.io.BufferedOutputStream的构造方的构造方法为:法为:npublicBufferedOutputStre
22、am(OutputStreamout)n参数out指定输出流。npublicBufferedOutputStream(OutputStreamout,intsize)n参数size指定了缓冲区的大小。不含size的构造方法的缓冲区大小由系统指定。n参见例题6-2,对比了带缓存与不带缓存的数据流的读写速度差别DavidFuDavidFu本章课程纲要本章课程纲要控制台操作和文件操作控制台操作和文件操作字节流和字符流字节流和字符流DavidFuDavidFu本课程纲要本课程纲要文件输入输出流操作文件输入输出流操作控制台操作控制台操作控制台操作和文件操作控制台操作和文件操作FileReader和和Fi
23、leWriter文件目录操作和随机存取操作文件目录操作和随机存取操作DavidFuDavidFu控制台操作字节流控制台操作字节流n从键盘输入采用标准输入流对象从键盘输入采用标准输入流对象System.in,而,而该对象的类型是该对象的类型是InputStream类类n用户从控制台获取数据,必须能够扫描键盘输入的用户从控制台获取数据,必须能够扫描键盘输入的字符流,并取出对应的数据。字符流,并取出对应的数据。n从键盘读取数据从键盘读取数据njava.io.InputStreamReader的构造方法为:的构造方法为:nPublicInputStreamReader(InputStreamin)n参
24、数参数in是字节流的实例对象,该构造方法可以将是字节流的实例对象,该构造方法可以将字节流的数据转换成字符流输入方式输入数据字节流的数据转换成字符流输入方式输入数据。DavidFuDavidFu控制台操作字节流控制台操作字节流n向控制台输出数据向控制台输出数据njava.io.OutputStreamWriter的构造方法为:的构造方法为:nPublicOutputStreamWriter(OutputStreamout)n参数参数out是字节流的实例对象,该构造方法将字符是字节流的实例对象,该构造方法将字符流转换成字节流输出方式输出数据。流转换成字节流输出方式输出数据。DavidFuDavid
25、Fu控制台操作字符流控制台操作字符流n在控制台输入输出操作中,使用在控制台输入输出操作中,使用BufferedReader和和BufferedWriter进行字符数据的操作进行字符数据的操作njava.io.BufferedReader类的构造方法为:类的构造方法为:npublicBufferedReader(Readerin)n参数in是字符输入流的实例对象,类型为抽象基类Reader。njava.io.BufferedWriter类的构造方法为:类的构造方法为:npublicBufferedWriter(Writerout)n参数参数out是字符输出流的实例对象,类型为抽象基是字符输出流的
26、实例对象,类型为抽象基类类Writer。所有。所有Writer类的非抽象的子类的实例都类的非抽象的子类的实例都可以作为可以作为BufferedWriter的输出参数。的输出参数。DavidFuDavidFu控制台操作字符数据输入流实例控制台操作字符数据输入流实例n从控制台输入输出将使用标准输入输出流,因此创建从控制台输入输出将使用标准输入输出流,因此创建字符数据输入流实例对象的语句为:字符数据输入流实例对象的语句为:nBufferedReaderbr=newBufferedReader(nnewInputStreamReader(System.in);nSystem.in是保存从键盘输入数据的
27、标准字节输入流。n通过桥接类InputStreamReader类的转换,将字节流的数据转换成可以直接读取的字符流的数据,保存在InputStreamReader类的对象中。nInputStreamReader类的实例对象作为BufferReader类的构造方法的参数。n参见实例参见实例6-3BufferedReaderWDavidFuDavidFu本课程纲要本课程纲要文件输入输出流操作文件输入输出流操作控制台操作控制台操作控制台操作和文件操作控制台操作和文件操作FileReader和和FileWriter文件目录操作和随机存取操作文件目录操作和随机存取操作DavidFuDavidFu文件数据操
28、作文件数据操作n对数据文件中的数据进行读写可以采用字节流nFileInputStreamnFileOutputStreamn对文本文件中的数据进行读写可以采用字符流nFileReadernFileWritern读写文件具有两种不同的存取方式:读写文件具有两种不同的存取方式:n顺序存取;n随机存取。DavidFuDavidFu文件字节流输入输出文件字节流输入输出n对文件中数据的操作一般可以分为以下三个步骤:对文件中数据的操作一般可以分为以下三个步骤:n创建与文件相对应的输入输出流的实例对象;n通过实例对象调用相关的成员方法,对文件进行读写操作;n文件操作完毕,调用close方法关闭文件输入输出流
29、,释放所占用的内存空间。DavidFuDavidFu文件字节流输入输出文件字节流输入输出nFileInputStream类的构造方法为:类的构造方法为:npublicFileInputStream(Filefile)throwsFileNotFoundExceptionnpublicFileInputStream(FileDescriptorfd)throwsFileNotFoundExceptionnpublicFileInputStream(Stringname)throwsFileNotFoundEDavidFuDavidFuFileInputStream类的成员方法类的成员方法 int
30、availableavailable()()返回不受阻塞地从此文件输入流中读取的字节数。void closeclose()()关闭此文件输入流并释放与此流有关的所有系统资源。intreadread()()从此输入流中读取一个数据字节。int readread(byte(byte b)b)从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。int readread(byte(byte b,b,intintoff,off,intint lenlen)从此输入流中将最多 len 个字节的数据读入从偏移量off开始的一个字节数组中。longskipskip(long(longn)n)
31、从输入流中跳过并丢弃 n 个字节的数据。DavidFuDavidFuFileOutputStream类的构造方法类的构造方法FileOutputStreamFileOutputStream(FileFilefile)file)创建一个向指定创建一个向指定 FileFile 对象表示的对象表示的文件中写入数据的文件输出流。文件中写入数据的文件输出流。FileOutputStreamFileOutputStream(FileFilefile,file,booleanbooleanappend)append)创建一个向指定创建一个向指定 FileFile 对象表示的文件中写入数据的文件输出流。对象表
32、示的文件中写入数据的文件输出流。appendappend 如果为如果为 truetrue,则将字节写入文件末尾处,而不是写入文件开,则将字节写入文件末尾处,而不是写入文件开始处始处 。FileOutputStreamFileOutputStream(FileDescriptorFileDescriptor fdfd)创建一个向指定文件描述创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。系统中的某个实际文件的现有连接。FileOutputStreamFileOutputStream(St
33、ringStringname)name)创建一个向具有指定名称的文件中写入数据的输出文件流。创建一个向具有指定名称的文件中写入数据的输出文件流。DavidFuDavidFuFileOutputStream的成员方法的成员方法voidcloseclose()()关闭此文件输出流并释放与此流有关的所有系统资源。FileDescriptorgetFDgetFD()()返回与此流有关的文件描述符。voidwritewrite(byte(byte b)b)将b.length个字节从指定字节数组写入此文件输出流中。voidwritewrite(byte(byte b,b,intintoff,off,int
34、int lenlen)将指定字节数组中从偏移量 off 开始的 len 个字节写入此文件输出流。voidwrite(int(intb)b)将指定字节写入此文件输出流。DavidFuDavidFu本课程纲要本课程纲要文件输入输出流操作文件输入输出流操作控制台操作控制台操作控制台操作和文件操作控制台操作和文件操作FileReader和和FileWriter文件目录操作和随机存取操作文件目录操作和随机存取操作DavidFuDavidFuFileReadernFileReader类的构造方法为类的构造方法为public public FileReaderFileReader(Filefile)在给定从
35、中读取数据的 File 的情况下创建一个新 FileReader。public public FileReaderFileReader(FileDescriptorfd)在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。public public FileReaderFileReader(StringfileName)在给定从中读取数据的文件名的情况下创建一个新 FileReader。DavidFuDavidFuFileWriternFileWriter类的部分构造方法为类的部分构造方法为FileWriterFileWriter(Filefile)在
36、给出 File 对象的情况下构造一个 FileWriter 对象。FileWriterFileWriter(Filefile,booleanappend)在给出 File 对象的情况下构造一个 FileWriter 对象。file:要写入数据的File对象。Append:如果为true,则将字节写入文件末尾处,而不是写入文件开始处。FileWriterFileWriter(FileDescriptorfd)构造与某个文件描述符相关联的 FileWriter 对象。FileWriterFileWriter(StringfileName)在给出文件名的情况下构造一个 FileWriter 对象。D
37、avidFuDavidFu本课程纲要本课程纲要文件输入输出流操作文件输入输出流操作控制台操作控制台操作控制台操作和文件操作控制台操作和文件操作FileReader和和FileWriter文件目录操作和随机存取操作文件目录操作和随机存取操作DavidFuDavidFu文件目录操作文件目录操作nFile类的主要构造方法为:类的主要构造方法为:nPublicFile(Stringpathname)nPublicFile(Stringparent,Stringchild)n参数参数pathname指定文件名称或路径名称。指定文件名称或路径名称。nparent用于指定路径,用于指定路径,child用于指
38、定文件名称用于指定文件名称或最后一级路径名称。或最后一级路径名称。DavidFuDavidFuFile类的主要成员方法类的主要成员方法booleancanReadcanRead()()测试应用程序是否可以读取此抽象路测试应用程序是否可以读取此抽象路径名表示的文件。径名表示的文件。booleancanWritecanWrite()()测试应用程序是否可以修改此抽象路测试应用程序是否可以修改此抽象路径名表示的文件。径名表示的文件。intcompareTocompareTo(FileFilepathname)pathname)按字母顺序比较两按字母顺序比较两个抽象路径名。个抽象路径名。boolean
39、createNewFilecreateNewFile()()当且仅当不存在具有此抽象路当且仅当不存在具有此抽象路径名指定的名称的文件时,创建由此抽象路径径名指定的名称的文件时,创建由此抽象路径名指定的一个新的空文件。名指定的一个新的空文件。staticFilecreateTempFilecreateTempFile(StringStringprefix,prefix,StringStringsuffix)suffix)在在默认临时文件目录中创建一个空文件,使用给默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。定前缀和后缀生成其名称。DavidFuDavidFuFile类的主要成
40、员方法类的主要成员方法booleandeletedelete()()删除此抽象路径名表示的文件或目录。删除此抽象路径名表示的文件或目录。voiddeleteOnExitdeleteOnExit()()在虚拟机终止时,请求删除此抽象路在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。径名表示的文件或目录。booleanequalsequals(ObjectObject objobj)测试此抽象路径名与给定对象是测试此抽象路径名与给定对象是否相等。否相等。booleanexistsexists()()测试此抽象路径名表示的文件或目录是否测试此抽象路径名表示的文件或目录是否存在。存在。Fileg
41、etAbsoluteFilegetAbsoluteFile()()返回抽象路径名的绝对路径名形返回抽象路径名的绝对路径名形式。式。StringgetAbsolutePathgetAbsolutePath()()返回抽象路径名的绝对路径名返回抽象路径名的绝对路径名字符串。字符串。DavidFuDavidFuFile类的主要成员方法类的主要成员方法booleandeletedelete()()删除此抽象路径名表示的文件或目录。删除此抽象路径名表示的文件或目录。voiddeleteOnExitdeleteOnExit()()在虚拟机终止时,请求删除此抽象路在虚拟机终止时,请求删除此抽象路径名表示的文
42、件或目录。径名表示的文件或目录。booleanequalsequals(ObjectObject objobj)测试此抽象路径名与给定对象是测试此抽象路径名与给定对象是否相等。否相等。booleanexistsexists()()测试此抽象路径名表示的文件或目录是否测试此抽象路径名表示的文件或目录是否存在。存在。FilegetAbsoluteFilegetAbsoluteFile()()返回抽象路径名的绝对路径名形返回抽象路径名的绝对路径名形式。式。StringgetAbsolutePathgetAbsolutePath()()返回抽象路径名的绝对路径名返回抽象路径名的绝对路径名字符串。字符串
43、。DavidFuDavidFuFile类的主要成员方法类的主要成员方法StringgetNamegetName()()返回由此抽象路径名表示的文件或目录的名称。StringgetParentgetParent()()返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回null。FilegetParentFilegetParentFile()()返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回null。StringgetPathgetPath()()将此抽象路径名转换为一个路径名字符串。DavidFuDavidFuFile类的主要成员方法类的主要
44、成员方法StringgetNamegetName()()返回由此抽象路径名表示的文件或目录的名称。StringgetParentgetParent()()返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回null。FilegetParentFilegetParentFile()()回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回null。StringgetPathgetPath()()将此抽象路径名转换为一个路径名字符串。booleanisAbsoluteisAbsolute()()测试此抽象路径名是否为绝对路径名。booleanisDirec
45、toryisDirectory()()判断抽象路径名表示的文件是否是目录。booleanisFileisFile()()判断抽象路径名表示的文件是否是标准文件。DavidFuDavidFuFile类的主要成员方法类的主要成员方法booleanisHiddenisHidden()()抽象路径名指定的文件是否是隐藏文件。longlastModifiedlastModified()()返回此抽象路径名表示的文件最后一次被修改的时间。longlengthlength()()返回由此抽象路径名表示的文件的长度。Stringlistlist()()返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字
46、符串数组。DavidFuDavidFuFile类的主要成员方法类的主要成员方法booleanmkdirmkdir()()创建此抽象路径名指定的目录。booleanmkdirsmkdirs()()创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。booleanrenameTorenameTo(Filedest)重新命名此抽象路径名表示的文件。booleansetLastModifiedsetLastModified(long(longtime)time)设置由此抽象路径名所指定的文件或目录的最后一次修改时间。DavidFuDavidFu文件的随机存取操作文件的随机存取操作n类类java.
47、io.RandomAccessFile允许使用同一允许使用同一个实例对象对同一个文件交替进行读写,读写数个实例对象对同一个文件交替进行读写,读写数据的位置在文件中是随机的。据的位置在文件中是随机的。DavidFuDavidFu文件的随机存取操作文件的随机存取操作nRandomAccessFile类的构造方法为:类的构造方法为:nRandomAccessFile(Filefile,Stringmode)n参数file是文件目录实例对象,用于封装要操作的文件信息;mode参数指定用以打开文件的访问模式。nRandomAccessFile(Stringname,Stringmode)n参数name是封装了文件信息的字符串实例对象,mode参数指定打开文件的模式。n具体成员方法的使用参见实例具体成员方法的使用参见实例6-DavidFuDavidF