章输入输出流操作_第1页
章输入输出流操作_第2页
章输入输出流操作_第3页
章输入输出流操作_第4页
章输入输出流操作_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

|海有|壁无|抬起头做人,埋下头做事。|纳容|立欲|岂能事事如意,但求无愧于心。|百乃|千则|人不可有傲气,但不可无傲骨。|川大|仞刚|把微笑留给世界,让世界因你微笑!第9章输入/输出流和文件操作9.1文件和流的概念9.2字节输入/输出流类9.3字符输入/输出流类9.4文件操作类9.5管道流及其应用9.1文件和流的概念9.1.1操作系统中的文件和目录概念9.1.2程序设计语言中的文件类型9.1.3流的概念9.1.4Java的输入/输出流与文件操作概述9.1.1操作系统中的文件和目录概念文件与文件系统目录结构与文件检索文件的逻辑结构流式文件记录式文件文件的存取方法顺序存取随机存取文件的使用操作接口程序接口9.1.2程序设计语言中的文件类型文件类型概念文件与数组的区别数组是由固定多个元素组成,而文件的长度是不确定的、任意的。数组元素总是存放在内存,而文件则往往与外部介质相联系。以“数组变量[下标]”的形式可以访问数组中的任意一个元素,而文件不能通过下标形式访问,需要通过文件对象调用相应方法来访问。9.1.3流的概念流的定义和作用流的定义、方向性和读/写操作流采用缓冲区技术流的作用流的存在9.1.4Java的输入/输出流与文件操作概述文件是用来存储计算机数据的,是计算机软件的重要组成部分。文件可以存放在多种介质中,例如硬盘、软盘和光盘,而且还可以通过网络传输。内存也可以存储计算机数据,但与存储在硬盘上的文件数据相比,存储在内存中的数据在计算机关机或掉电时一般就会消失。因此,文件是使在计算机上的工作得以延续的一种重要媒介。另外,计算机程序在执行时,要求被处理的数据必须先加载到内存中。因此,一方面需要将位于内存中的数据保存到文件中,以便长期使用;另一方面又需要将在文件中的数据加载到内存中,以便计算机处理。在文件中的数据只是一连串的字节或字符,并没有明显的结构。文件数据的内部结构需要由程序自己定义与处理。因此,Java语言将文件看作字节或字符序列的集合。组成文件的字节序列或字符序列分别被称为字节流或字符源。Java语言提供了非常丰富的类来处理目录、文件及文件数据。这些类主要位于包"java.io"中。另外,还有个别一些类位于其他包中,例如:"Java.uIti.ZIp"包的类主要对压缩文件进行处理。流

在计算机系统的实际应用中,常常需要处理许多资源。这些资源有的是以文件形式保存在磁盘中,有的通过网络进行连接。这样在应用程序的实现中,必须在程序中提供一种将数据源连接到应用程序的方法。这样的方式称为流(stream)。按照数据传输的方向,将流分为输入流和输出流。1.流类输入/输出处理是程序设计中非常重要的一部分,比如从键盘读取数据、从文件中读取数据或向文件中写数据等等。输入流(inputstream):是将数据从文件、标准输入(类:java.io.BufferedInputStream,参数:System.in)(主要用来接收键盘的输Scanner)或其他外部输入设备中加载到内存。输出流(outputstream):将在内存中的数据保存到文件中,或者传输给输出设备。Java把这些不同类型的输入、输出源抽象为流(stream),用统一接口来表示,从而使程序简单明了。Jdk提供了包java.io,其中包括一系列的抽象类来实现输入/输出处理。输入流在Java语言中对应的抽象类java.io.InputStream以及其子类,输出流对应抽象类java.io.OutputStream以及子类。字节流和字符流:按照流中元素的基本类型,流分为字节流和字符流。字节流是由字节组成的;字符流是由字符组成的。Java里字符由两个字节组成.1字符=2字节字节流与字符流主要的区别是他们的的处理方式

字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。2.文件操作类

Java支持对文件的顺序存取和随机存取操作,提供File类记载文件属性信息,对文件的读/写操作通过流实现;RandomAccessFile类以随机存取方式进行文件读/写操作。File 文件类RandomAccessFile 随机存取文件类9.2字节输入/输出流类9.2.1字节输入流类InputStream9.2.2字节输出流OutputStream类9.2.3Java的标准输入/输出9.2.4文件字节输入/输出流类9.2.5数据字节输入/输出流类9.2.6对象输入/输出流类字节流:从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。InputStream、OutputStreamFileInputStream、FileOutputStreamPipedInputStream、PipedOutputStreamByteArrayInputStream、ByteArrayOutputStreamFilterInputStream、FilterOutputStreamDataInputStream、DataOutputStreamBufferedInputStream、BufferedOutputStream字符流:从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。Reader、WriterInputStreamReader、OutputStreamWriterFileReader、FileWriterCharArrayReader、CharArrayWriterPipedReader、PipedWriterFilterReader、FilterWriterBufferedReader、BufferedWriterStringReader、StringWriter用几个常用类型的数据来比较字节流和字符流的区别:

inta=5;

booleanb=true;

charc='G';

Stringd="你好";使用字符流打印以上类型的数据到文件中:PrintWriterdos=newPrintWriter(newBufferedWriter(newFileWriter("c:\\buffertest.txt")));

dos.print(a);

dos.print(b);

dos.print(c);

dos.print(d);

结果如下:a是5b是truec是Gd是你好字符流完全保证了和我们输入的字符保持一致字节流DataOutputStreamdos=newDataOutputStream(newFileOutputStream("c:\\streamtest.txt"));

dos.writeInt(a);

dos.writeBoolean(b);

dos.writeChar(c);

dos.writeUTF(d);

dos.writeChars(d);

dos.writeBytes(d);结果是二进制文件,我们用十六进制编辑器打开它a是00000005,int是四个字节b是01,布尔型变量是一个字节c是0047,char是两个字节d分别用3个不同的函数打印在文件中第一个是0006E4BDA0E5A5BD,前面的0006是writeUTF加上去的,是字节的数目,后面六个字节是"你好"的UTF编码,每个汉字3个字节第二个是4F60597D,这是"你好"的bigendian的Unicode编码,每个汉字2个字节第三个是607D,这是从4F60597D中分别取得两个汉字的低字节9.2.1字节输入流类InputStream1.InputStream类publicabstractclassInputStreamextendsObjectimplementsCloseable{publicabstractintread()throwsIOException; //返回读取的一个字节,抽象方法

publicintread(byte[]b)throwsIOException //从输入流中读取若干字节到指定缓冲区,返回实际读取的字节数

publicvoidclose()throwsIOException{} //关闭输入流,空方法}intread();//读取一个字节,返回值为所读的字节intread(byteb[]);//读取多个字节,放置到字节数组b中,通常

//读取的字节数量为b的长度,返回值为实际读取的字节的数量intread(byteb[],intoff,intlen);//读取len个字节,放置

//到以下标off开始字节数组b中,返回值为实际读取的字节的数量intavailable();//返回值为流中尚未读取的字节的数量longskip(longn);//读指针跳过n个字节不读,返回值为实际跳过的字节数量close();//流操作完毕后必须关闭voidmark(intreadlimit);//记录当前读指针所在位置,readlimit//表示读指针读出readlimit个字节后//所标记的指针位置才失效voidreset();//把读指针重新指向用mark方法所记录的位置booleanmarkSupported();//当前的流是否支持读指针的记录功能有关每个方法的使用,详见JavaAPI。2.InputStream类的子类9.2.2字节输出流OutputStream类1.OuputStream类publicabstractclassOutputStreamextendsObjectimplementsCloseable,Flushable{publicabstractvoidwrite(intb)throwsIOException; //写入一个字节,抽象方法

publicvoidwrite(byte[]b)throwsIOException //将缓冲区中的若干字节写入输出流

publicvoidflush()throwsIOException{} //立即传输

publicvoidclose()throwsIOException{} //关闭输出流,空方法}输出数据:

voidwrite(intb);

//往流中写一个字节b

voidwrite(byteb[]);//往流中写一个字节数组b

voidwrite(byteb[],intoff,intlen);//把字节数组b中从

flush()

//刷空输出流,并输出所有被缓存的字节由于某些流支持缓存功能,

//方法将把缓存中所有内容强制输出到流中。关闭流:

close();

//流操作完毕后必须关闭程序:使用OutPutStream来处理输出流。importjava.io.IOException;importjava.io.OutputStream;publicclassJava_Write{publicstaticvoidmy_write(OutputStreamout){Strings="输出流例子";byte[]b=s.getBytes();try{out.write(b);out.flush();}catch(IOExceptione){System.err.println("发生异常:"+e);e.printStackTrace();}}publicstaticvoidmain(Stringargs[]){my_write(System.out);}}2.OutputStream类的子类9.2.3Java的标准输入/输出在计算机系统中,标准输入是从键盘等外部输入设备中获得数据,标准输出是向显示器或打印机等外部输出设备发送数据。1.标准输入/输出常量publicfinalclassSystemextendsObject{publicfinalstaticInputStreamin//标准输入常量

publicfinalstaticPrintStreamout//标准输出常量

publicfinalstaticPrintStreamerr //标准错误输出常量}2.PrintStream类publicclassPrintStreamextendsFilterOutputStream{publicvoidprint(booleanb)publicvoidprint(charc)publicvoidprint(longl)publicvoidprint(inti)publicvoidprint(floatf)publicvoidprint(doubled)publicvoidprint(Strings)publicvoidprint(Objectobj)publicvoidprintln()}【例9.1】标准输入/输出。图9.5标准输入过程

图9.6标准输出过程9.2.4文件字节输入/输出流类1.FileInputSream类publicclassFileInputStreamextendsInputStream{publicFileInputStream(Stringname)throws FileNotFoundExceptionpublicFileInputStream(Filefile)throws FileNotFoundException}类FileInputStream和FileOutputStream用来进行文件I/O处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读/写。程序:FileInputStream的应用。importjava.io.FileInputStream;importjava.io.IOException;publicclassJava_EchoFile{publicstaticvoidmain(Stringargs[]){try{FileInputStreamf=newFileInputStream("test.txt");inti;intb=f.read();for(i=0;b!=-1;i++){System.out.print((char)b);b=f.read();}

System.out.println();System.out.println("文件\"test.txt\"字节数为"+i);f.close();}catch(IOExceptione){System.err.println("发生异常:"+e);e.printStackTrace();}}}2.FileOutputStreamFileOutputStream类:publicclassFileOutputStreamextendsOutputStream{publicFileOutputStream(Stringname) throwsFileNotFoundExceptionpublicFileOutputStream(Filefile)throws FileNotFoundExceptionpublicFileOutputStream(Stringname,booleanappend)throwsFileNotFoundException}程序:FileOutputStream类的使用。将字符串写入到指定的文件中。例如,将字符串“为奥运加油!”写入到文件“test.txt”中。importjava.io.IOException;importjava.io.FileOutputStream;publicclassJava_WriteFile{publicstaticvoidmain(Stringargs[]){Strings="为奥运加油!";byte[]b=s.getBytes();try{FileOutputStreamf=newFileOutputStream("out.txt");f.write(b);f.flush();f.close();}catch(IOExceptione){System.err.println("发生异常:"+e);e.printStackTrace();}}}【例9.2】使用文件字节输入/输出流实现文件的输入/输出操作。文件输入操作文件输出操作文件复制操作9.2.5数据字节输入/输出流类数据字节输入流DataInputStream类和数据字节输出流DataOutputStream类提供直接读或写基本数据类型数据的方法,在读或写某种基本数据类型时,不必关心它的实际长度是多少字节。1.DataInputStream类publicclassDataInputStreamextendsFilterInputStreamimplementsDataInput{publicDataInputStream(InputStreamin)//构造方法

publicfinalshortreadShort()throwsIOExceptionpublicfinalbytereadByte()throwsIOExceptionpublicfinalintreadInt()throwsIOException//读取一个整型

publicfinallongreadLong()throwsIOExceptionpublicfinalfloatreadFloat()throwsIOExceptionpublicfinaldoublereadDouble()throwsIOExceptionpublicfinalcharreadChar()throwsIOException//读取一个字符

publicfinalbooleanreadBoolean()throwsIOException}2.DataOutputStream类publicclassDataOutputStreamextendsFilterOutputStreamimplementsDataOutput{publicDataOutputStream(OutputStreamout)//构造方法

publicfinalvoidwriteByte(intv)throwsIOExceptionpublicfinalvoidwriteShort(intv)throwsIOExceptionpublicfinalvoidwriteInt(intv)throwsIOException//写入一个整型

publicfinalvoidwriteLong(longv)throwsIOExceptionpublicfinalvoidwriteFloat(floatv)throwsIOExceptionpublicfinalvoidwriteDouble(doublev)throwsIOExceptionpublicfinalvoidwriteChar(intv)throwsIOException//写入一个字符

publicfinalvoidwriteBoolean(booleanv)throwsIOExceptionpublicfinalvoidwriteChars(Strings)throwsIOException //写入一个字符串

publicfinalintsize()//返回实际写入的字节数}【例9.3】将Fibonacci序列值写入一个整数类型文件中。数据写入文件的思路同标准输出捕获异常控制输入结束9.2.6对象输入/输出流类1.ObjectInputStream类publicclassObjectInputStreamextendsInputStreamimplementsObjectInput,ObjectStreamConstants{publicObjectInputStream(InputStreamin) throwsIOException //构造方法

publicfinalObjectreadObject()throws IOException,ClassNotFoundException //读取一个对象}2.ObjectOutputStream类publicclassObjectOutputStreamextendsOutputStreamimplementsObjectOutput,ObjectStreamConstants{publicObjectOutputStream(OutputStream out)throwsIOException //构造方法

publicfinalvoidwriteObject(Objectobj) throwsIOException//写入一个对象}【例9.4】使用对象流将若干学生对象写入以对象为基本类型的记录式文件中。图9.7各种输入/输出流及其读/写方法9.3字符输入/输出流类9.3.1字符输入/输出流抽象类Reader和Writer9.3.2文件字符输入/输出流类9.3.3字符缓冲流类采用字节流类可以对以字符为基本类型的流式文件进行数据读/写操作,方法如下:·采用文件字节流类,将字节缓冲区数组中的字节数据转化为字符。·采用数据字节流类,可以直接读取一个字符,写入一个字符或字符串。数据字节流类中的读/写方法声明如下:publicclassDataInputStrearnextendsFilterInputStrearnimplementsDataInput{

publicfmalcharreadCharOthrowsIOException//读取一个字符

publicclassDataOutputStreamextends}FilterOutputStreamimplementsDataOutput{publicfinalvoidwriteChar(intv)throwsIOException //写入一个字符publicfinalvoidwriteChars(Strings)throwsIOException II写入一个字符串}9.3.1字符输入/输出流抽象类Reader和Writerjava中提供了处理以16位的Unicode码表示的字符流的类,即以Reader和Writer为基类派生出的一系列类。Reader和Writer,这两个类是抽象类,只是提供了一系列用于字符流处理的接口,不能生成这两个类的实例,只能通过使用由它们派生出来的子类对象来处理字符流。不能使用newReader()或newWriter()以字符为基本单位访问文件的可以称为读/写器。字节流类与字符流类(读写器)之间的对应关系:P295P296字节流字符流(读写器)java.io.InputStreamjava.io.Readerjava.io.OutStreamjava.io.Writerjava.io.FileInputStreamjava.io.FileReaderjava.io.FileOutStreamjava.io.FileWriterjava.io.BufferedInputStreamjava.io.BufferedReaderjava.io.BufferedOutStreamjava.io.BufferedWriter(1)Reader类

抽象类java.io.Reader和抽象类java.io.Writer规定了字符流的基本操作。抽象类java.io.Reader用来读出数据,该类是处理所有字符流输入类的父类。读取字符标记流关闭流Reader类的声明:publicabstractclassReaderextendsObjectimplementsReadable,Closeable{publicintread()throwsIOExceptionpublicintread(charcbuf[])throwsIOExceptionabstractpublicintread(charcbuf[],intoff,intlen) throwsIOException;abstractpublicvoidclose()throwsIOException;}读取字符

publicintread()throwsIOException;/*从文件中读取一个字符,返回值为读取的字符,当返回值为-1时,表示到达文件末尾。*/publicintread(charcbuf[])throwsIOException;/*读取一系列字符到数组cbuf[]中,返回值为实际读取的字符的数量,当返回值为-1时,表示到达文件末尾。*/publicabstractintread(charcbuf[],intoff,intlen)throwsIOException;/*读取len个字符,从数组cbuf[]的下标off处开始存放,返回值为实际读取的字符数量,该方法必须由子类实现,,当返回值为-1时,表示到达文件末尾。*/标记流publicbooleanmarkSupported();//判断当前流是否支持做标记publicvoidmark(intreadAheadLimit)throwsIOException;//给当前流作标记,最多支持readAheadLimit个字符的回溯。publicvoidreset()throwsIOException;//将当前流重置到做标记处关闭流

publicabstractvoidclose()throwsIOException;该成员方法关闭当前字符流并释放与字符流相关的系统资源。(2)Writer类

抽象类java.io.Writer用来存储数据,其提供了多个成员方法,分别用来输出单个字符、字符数组和字符串。该类是处理所有字符流输出类的父类。向输出流写入字符flush()关闭流Writer类的声明:publicabstractclassWriterimplementsAppendable,Closeable,Flushable{publicvoidwrite(intc)throwsIOExceptionpublicvoidwrite(char[]cbuf)throwsIOExceptionpublicvoidwrite(Stringstr)throwsIOException //将字符串写入输出流

publicWriterappend(CharSequencecsq)throwsIOExceptionpublicWriterappend(charc)throwsIOExceptionpublicabstractvoidflush()throwsIOException //将缓冲区内容写入输出流

publicabstractvoidclose()throwsIOException}向输出流写入字符

publicvoidwrite(intc)throwsIOException;//将整型值c的低16位写入当前文件中。publicvoidwrite(charcbuf[])throwsIOException;//将字符数组cbuf[]写入当前文件中。publicabstractvoidwrite(charcbuf[],intoff,intlen)throwsIOException;//将字符数组cbuf[]中的从索引为off的位置处开始的len个字符写入当前文件中。publicvoidwrite(Stringstr)throwsIOException;//将字符串str中的字符写入当前文件中。publicvoidwrite(Stringstr,intoff,intlen)throwsIOException;//将字符串str中从索引off开始处的len个字符写入当前文件中。publicWriterappend(CharSequencecsq)throwsIOException//将字符序列csq添加到当前文件中。

publicWriterappend(charc)throwsIOException//将字符c添加到当前文件中。flush()

用来强制输出,使得数据立即写入文件中。刷空输出流,并输出所有被缓存的字节。2024/4/1566关闭流

publicabstractvoidclose()throwsIOException;该成员方法关闭当前字符流并释放与字符流相关的系统资源。9.3.2文件字符输入/输出流类类java.io.FileReader和java.io.FileWriter分别是抽象类java.io.Reader和java.io.Writer类的子类。java.io.FileReader兼容抽象类ava.io.Reader的所有成员方法,可以进行读取字符串和关闭流等操作。类java.io.FileWriter兼容抽象类java.io.Writer的所有成员方法,可以进行输出单个或多个字符、强制输出和关闭流等操作。FileReader和java.io.FileWriter类与InputStreamReader和OutputStreamWriter类的区别?

类java.io.FileReader和java.io.FileWriter用于文本文件的输入和输出处理,与文件字符流InputStreamReader类和OutputStreamWriter类的功能相似,是其子类。

1.FileReaderFileReader类的声明:publicclassFileReaderextendsInputStreamReader{publicFileReader(StringfileName)throwsFileNotFoundException//构造方法,参数fileName指定文件名

publicFileReader(Filefile)throwsFileNotFoundException}2.FileWriter类类的声明:publicclassFileWriterextendsOutputStreamWriter{publicFileWriter(StringfileName)throws IOException //构造方法

publicFileWriter(StringfileName,booleanappend) throwsIOExceptionpublicFileWriter(Filefile)throwsIOExceptionpublicFileWriter(Filefile,booleanappend)throws IOException}程序:文件的读写程序。importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassJava_ReaderWriter{publicstaticvoidmain(Stringarg[]){try{FileWriterf_out=newFileWriter("test.txt");f_out.write("有志者,事竟成!");f_out.close();FileReaderf_in=newFileReader("test.txt");for(intc=f_in.read();c!=-1;c=f_in.read())System.out.print((char)c);f_in.close();}

catch(IOExceptione){System.out.println("发生异常:"+e);e.printStackTrace();}}}程序:将Fibonacci序列值写入一个文本文件中。9.3.3字符缓冲流类

FileReader类和FileWriter类以字符为单位进行数据读/写操作,数据的传输效率很低。Java提供BufferedReader类、LineNumberReader类和BufferedWriter类以缓冲流方式进行数据读写操作。

生成流对象

publicBufferedReader(Readerin);//使用缺省的缓冲区大小

publicBufferedReader(Readerin,intsz);//sz为缓冲区的大小

publicBufferedWriter(Writerout);

publicBufferedWriter(Writerout,intsz);读入/写出字符除了Reader和Writer中提供的基本的读写方法外,增加对整行字符的处理。

publicStringreadLine()throwsIOException;//读一行字符

publicvoidnewLine()throwsIOException;//写一行字符1.BufferedReader类

BufferedReader类的声明:publicclassBufferedReaderextendsReader{publicBufferedReader(Readerin)//构造方法,使用缺省的缓冲区大小

publicBufferedReader(Readerin,intsz);//sz为缓冲区的大小

publicStringreadLine()throwsIOException //读取一行字符串,输入流结束时返回null}2.LineNumberReader类LineNumberReader类的声明:publicclassLineNumberReaderextendsReader{publicLineNumberReader(Readerin)//构造方法,使用缺省的缓冲区大小

publicLineNumberReader(Readerin,intsz);//sz为缓冲区的大小

publicStringgetLineNumber()throwsIOException//获取行号}3.BufferedWriter类BufferedWriter类的声明:publicclassBufferedWriterextendsWriter{publicBufferedWriter(Writerout)//构造方法

publicBufferedWriter(Writerout,intsz) //sz指定字符缓冲区长度

publicvoidnewLine()throwsIOException//写入一个换行符}程序:带缓存和行号的读写程序。importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.LineNumberReader;importjava.io.IOException;publicclassJava_BufferedReaderWriter{publicstaticvoidmain(Stringarg[]){try{BufferedWriterbw=newBufferedWriter(newFileWriter("test.txt"));bw.write("有志者,事竟成!");bw.newLine();bw.write("苦心人,天不负!");bw.newLine();bw.close();

LineNumberReaderbr=newLineNumberReader(newFileReader("test.txt"));Strings;for(s=br.readLine();s!=null;s=br.readLine())System.out.println(br.getLineNumber()+":"+s);br.close();}catch(IOExceptione){System.out.println("发生异常:"+e);e.printStackTrace();}}}【例9.5】将Fibonacci序列值写入一个文本文件中。9.3.4InputStreamReader和OutputStreamWriter

java.io包中用于处理字符流的最基本的类,用来在字节流和字符流之间作为中介。生成流对象:publicInputStreamReader(InputStreamin);/*in是字节流,而InputStreamReader是字符流,但是其来源是字节流in,因此InputStreamReader就可以把字节流in转换成字符流处理。*/publicInputStreamReader(InputStreamin,Stringenc)throwsUnsupportedEncodingException;/*enc是编码方式,就是从字节流到字符流进行转换时所采用的编码方式,例如ISO8859-1,UTF-8,UTF-16等等*/publicOutputStreamWriter(OutputStreamout);/*out是字节流,而OutputStreamReader是字符流*/publicOutputStreamWriter(OutputStreamout,Stringenc)throwsUnsupportedEncodingException;//enc是编码方式读入和写出字符基本同Reader和Writer。获取当前编码方式

publicStringgetEncoding();关闭流

publicvoidclose()throwsIOException;9.4文件操作类9.4.1文件类File9.4.2文件过滤器接口9.4.3文件对话框组件9.4.4随机存取文件类9.4.1文件类File1.文件或目录的生成File类的构造方法publicclassFileextendsObjectimplementsSerializable,Comparable<File>{publicFile(Stringpathname)publicFile(Stringparent,Stringchild)publicFile(Fileparent,Stringchild)}publicFile(Stringpath);/*如果path是实际存在的路径,则该File对象/*表示的是目录;如果path是文件名,则该File对象表示的是文件。*/publicFile(Stringpath,Stringname);//path是路径名,name是文件名publicFile(Filedir,Stringname);//dir是路径名,name是文件名例如,Filefile=newFile("myfile.txt");Filedir=newFile(".",""); //创建一个目录文件对象,表示当前目录Filedir=newFile("C:","");2.文件名的处理299

StringgetName();//得到一个文件的名称(不包括路径)

StringgetPath();

//得到一个文件的路径名

StringgetAbsolutePath();//得到一个文件的绝对路径名

StringgetParent();//得到一个文件的上一级目录名

StringrenameTo(FilenewName);//将当前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论