Java 2实用教程第4版_第10章_输入流与输出流.ppt
《Java 2实用教程第4版_第10章_输入流与输出流.ppt》由会员分享,可在线阅读,更多相关《Java 2实用教程第4版_第10章_输入流与输出流.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、注意:开始用功了注意:开始用功了!第 页Java2实用教程实用教程(第第4版版)第第10章章配合例子源代码一起使用例子源代码一起使用Power point 制作:耿祥义 张跃平输入、输出流输入、输出流第 页导读导读主要内容主要内容File类类文件字节输入、输出流文件字节输入、输出流文件字符输入、输出流文件字符输入、输出流缓冲流缓冲流随机流随机流数组流数组流数据流数据流对象流对象流序列化与对象可隆序列化与对象可隆使用使用Scanner解析文件解析文件文件锁文件锁第 页输输入入、输输出出流流提提供供一一条条通通道道程程序序,可可以以使使用用这这条条通通道道读读取取源源中中的的数数据据或或把把数数据
2、据传传送送到到目目的的地地。把把输输入入流流的的指指向向称称作作源源,程程序序从从指指向向源源的的输输入入流流中中读读取取源源中中的的数数据据;而而输输出出流流的的指指向向是是数数据据要要去去的的一一个个目目的的地地,程程序序通通过过向向输出流中写入数据把数据传送到目的地。输出流中写入数据把数据传送到目的地。概述概述第 页10.1 FileFile类类 FileFile对对象象主主要要用用来来获获取取文文件件本本身身的的一一些些信信息息,不涉及对文件的读写操作。不涉及对文件的读写操作。创建一个创建一个FileFile对象的构造方法有对象的构造方法有3 3个:个:File(String file
3、name);File(String filename);File(String File(String directoryPath,StringdirectoryPath,String filename);filename);File(File f,String filename);File(File f,String filename);第 页10.1.1 文件的属性文件的属性 File类的下列方法获取文件本身的一些信息。类的下列方法获取文件本身的一些信息。public String getName()获取文件的名字。获取文件的名字。public boolean canRead()判断文件是
4、否是可读的。判断文件是否是可读的。public boolean canWrite()判断文件是否可被写入。判断文件是否可被写入。public boolean exits()判断文件是否存在。判断文件是否存在。public long length()获取文件的长度(单位是字节)。获取文件的长度(单位是字节)。public String getAbsolutePath()获取获取文件的绝对路径。文件的绝对路径。public String getParent()获取文件的父目录。获取文件的父目录。public boolean isFile()判断文件是否是一个普通文件,而不是目录。判断文件是否是一个
5、普通文件,而不是目录。public boolean isDirectroy()判断文件是否是一个目录。判断文件是否是一个目录。public boolean isHidden()判断文件是否是隐藏文件。判断文件是否是隐藏文件。public long lastModified()获取文件最后修改的时间。获取文件最后修改的时间。例子例子1 1(例子例子1 1使用上述的一些方法,获取某些文件的信息使用上述的一些方法,获取某些文件的信息)第 页10.1.2 目录目录 1 1创建目录创建目录 public boolean mkdir()2 2列出目录中的文件列出目录中的文件 public String l
6、ist()用字符串形式返回目录下的全部文件。用字符串形式返回目录下的全部文件。public File listFiles()用用FileFile对对象象形形式式返返回回目目录录下下的的全全部部文件。文件。public String list(FilenameFilter obj)用用字字符符串串形形式式返回目录下的指定类型的所有文件。返回目录下的指定类型的所有文件。public File listFiles(FilenameFilter obj)用用FileFile对对象形式返回目录下的指定类型所有文件。象形式返回目录下的指定类型所有文件。上述两方法的参数上述两方法的参数FilenameFil
7、terFilenameFilter是一个接口是一个接口,该接口有一个方法:,该接口有一个方法:public boolean accept(File dir,String name);例例子子2 2(Example10_2.javaExample10_2.java ,FileAccept.javaFileAccept.java ),),例例子子2 2列列出出当当前目录(应用程序所在的目录)下全部前目录(应用程序所在的目录)下全部javajava文件的名字文件的名字)第 页10.1.3 文件的创建与删除文件的创建与删除 当使用当使用FileFile类创建一个文件对象后,例如类创建一个文件对象后,例
8、如 File file=new File file=new File(c:myletter,letter.txtFile(c:myletter,letter.txt););如果如果c:myletterc:myletter目录中没有名字为目录中没有名字为letter.txtletter.txt文件文件,文件对象文件对象filefile调用方法调用方法 public public booleanboolean createNewFilecreateNewFile();();可以在可以在c:myletterc:myletter目录中建立一个名字为目录中建立一个名字为letter.txtletter.
9、txt的文件的文件。文件对象调用方法文件对象调用方法 public public booleanboolean delete()delete()可以删除当前文件,例如:可以删除当前文件,例如:file.delete();file.delete();第 页10.1.4 运行可执行文件运行可执行文件 用用Runtime Runtime 类类声明一个对象声明一个对象(RuntimeRuntime类在类在java.langjava.lang包包)Runtime Runtime ecec;然后使用该类的然后使用该类的getRuntimegetRuntime()()静态方法创建这个对象:静态方法创建这个对
10、象:ecec=Runtime.getRuntimeRuntime.getRuntime();();ecec可以调用可以调用 exec(String command)exec(String command)方法方法打开本地机的可执行文件或执行一个操作。打开本地机的可执行文件或执行一个操作。例例子子3 3(例例子子3 3中中,RuntimeRuntime对对象象打打开开windowswindows平平台台上上的的记记事事本程序和浏览器本程序和浏览器)第 页10.2 文件字节输入流文件字节输入流 java.iojava.io包包 提提 供供 了了 大大 量量 的的 流流 类类,JavaJava把把I
11、nputStreamInputStream抽抽象象类类的的子子类类创创建建的的流流对对象象称称作作字字节节输输入入流流、OutputStreamOutputStream抽抽象象类类的的子子类类创创建建的的流流对对象象称称作作字字节节输输出出流流,JavaJava把把ReaderReader抽抽象象类类的的子子类类创创建建的的流流对对象象称称作作字字符符输输入入流流、WriterWriter抽象类的子类创建的流对象称作字符输出流。抽象类的子类创建的流对象称作字符输出流。针针对对不不同同的的源源或或目目的的地地,java.iojava.io包包为为程程序序提提供供了了相相应应的的输输入入流流或或输
12、输出出流流,这这些些输输入入、输输出出流流绝绝大大部部分分都都是是InputStreamInputStream、OutputStreamOutputStream、ReaderReader或或WriterWriter的子类。的子类。第 页使用输入流通常包括4个基本步骤:(1)设定输入流的源(2)创建指向源的输入流(3)让输入流读取源中的数据(4)关闭输入流。1构造方法构造方法 使用FileInputStream类的下列构造方法创建指向文件的输入流。FileInputStream(String name);FileInputStream(File file);参数name和和file指定的文件指定
13、的文件称为输入流的源。输入流的源。第 页2使用输入流读取字节使用输入流读取字节 文件字节流可以调用从父类继承的read方法顺序地读取文件,只要不关闭流,每次调用read方法就顺序地读取文件中的其余内容,直到文件的末尾或文件字节输入流被关闭。int read()读取单个字节的数据,返回字节值(0255整数),如果未读出字节就返回-1。int read(byte b)读取b.length个字节到字节数组b中,返回实际读取的字节数。如果到达文件的末尾,则返回-1。int read(byte b,int off,int len)读取len个字节到字节数组b中,并返回实际读取的字节数目。如果到达文件的末
14、尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据。例子例子4 使用文件字节流读取文件的内容。第 页10.3 文件字节输出流文件字节输出流 使用输出流通常包括4个基本步骤:(1)给出输出流的目的地(2)创建指向目的地的输出流(3)让输出流把数据写入到目的地(4)关闭输出流。1构造方法构造方法 使用FileOutputStream类的下列具有刷新功能的构造方法创建指向文件的输出流。FileOutputStream(String name);FileOutputStream(File file);参数name和和file指定指定的文件称为输出流的目的地目的地 第 页输出流的wir
15、ie方法以字节单位向目的地写数据。void write(int n)向目的地写入单个字节。void write(byte b)向目的地写入一个字节数组。void write(byte b,int off,int len)从字节数组中偏移量off处取len个字节写到目的地。FileOutputStream流顺序地写文件,只要不关闭流,每次调用write方法就顺序地向目的地写入内容,直到流被关闭。2使用输出流写字节使用输出流写字节 例子例子5使用文件字节输出流字节输出流写文件a.txt。例例子子5首先使用具有刷新功能的构造方法创建指向文件a.txt的输出流、并向a.txt文件写入“新年快乐”,然后
16、再选择使用不刷新文件的构造方法指向a.txt,并向文件写入(即尾加)“Happy New Year”3关闭流关闭流 通过调用close()方法,可以保证操作系统把流缓冲区的内容写到它的目的地,即关闭输出流可以把该流所用的缓冲区的内容冲洗掉(通常冲洗到磁盘文件上)。第 页 1 1ReaderReader类提供的类提供的readread方法以字符为单位顺序地读取源中的数据。方法以字符为单位顺序地读取源中的数据。int read():int read(char b):int read(char b,int off,int len):void close():long skip(long numByt
17、es):2 2 WriterWriter流流以以字字符符为为单单位位顺顺序序地地写写文文件件,每每次次调调用用writewrite方方法法就就顺顺序序地地向向目目的地写入内容。的地写入内容。Writer类有如下常用的方法。类有如下常用的方法。void write(int n):向输出流写入一个字符。void write(byte b):向输出流写入一个字符数组。void write(byte b,int off,int length):从给定字符数组中起始于偏移量off处取len个字符写到输出流。void close():关闭输出流。10.4 文件字符输入、输出流文件字符输入、输出流 例子例子
18、6 6 使用文件字符输入、输出流将文件a.txt的内容尾加到文件b.txt中。第 页10.5 缓冲流缓冲流 1 1BufferedReaderBufferedReader和和BufferedWriterBufferedWriter类类创创建建的的对对象象称称作作缓缓冲冲输输入入、输输出出流流。二二者者的的源源和和目目的的地地必必须须是是字字符符输入流和字符输出流。输入流和字符输出流。构造方法:构造方法:BufferedReader(ReaderBufferedReader(Reader in);in);BufferedWriterBufferedWriter(Writer out);(Writ
19、er out);2.2.BufferedReaderBufferedReader和和BufferedWriterBufferedWriter类类读读写写文文件件的的方法方法:readLinereadLine()()读取文本行读取文本行 write(Stringwrite(String s,ints,int off,intoff,int lenlen)把把字字符符串串s s写写到到文件中文件中 newLinenewLine();();向文件写入一个回行符向文件写入一个回行符 第 页 由英语句子构成的文件由英语句子构成的文件english.txtenglish.txt(每句占一行):每句占一行):
20、The arrow missed the target.They rejected the union demand.Where does this road go to?例例子子7 7 按按行行读读取取english.txtenglish.txt ,并并在在该该行行的的后后面面尾尾加加上上该该英英语语句句子子中中含含有有的的单单词词数数目目,然然后后再再将将该该行行写写入入到到一一个个名名字字为为englishCount.txtenglishCount.txt的的文文件件中中。程程序序运运行行效效果如图果如图10.10.5 5。第 页10.6 随机流随机流 使使用用RandomAccessF
21、ileRandomAccessFile类类来来创创建建一一个个随随机机访访问问文文件件流流。RandomAccessFileRandomAccessFile类类创建的流的指向既可以作为源也可以作为目的地。创建的流的指向既可以作为源也可以作为目的地。构造方法构造方法:RandomAccessFile(StringRandomAccessFile(String name,String mode);name,String mode);RandomAccessFile(FileRandomAccessFile(File file,String mode);file,String mode);相关方法:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 2实用教程第4版_第10章_输入流与输出流 实用教程 10 输入 输出
限制150内