012.第十二章.文件操作

上传人:飞*** 文档编号:5189382 上传时间:2017-08-06 格式:PPTX 页数:37 大小:569.17KB
返回 下载 相关 举报
012.第十二章.文件操作_第1页
第1页 / 共37页
012.第十二章.文件操作_第2页
第2页 / 共37页
012.第十二章.文件操作_第3页
第3页 / 共37页
012.第十二章.文件操作_第4页
第4页 / 共37页
012.第十二章.文件操作_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《012.第十二章.文件操作》由会员分享,可在线阅读,更多相关《012.第十二章.文件操作(37页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计,基于Java语言的面向对象程序设计,第三部分,Java相关技术,Java程序设计,回顾,Collection 、List 、Set 、Map接口之间的关系是什么? ArrayList、Vector和LinkedList有什么异同之处?HashSet和TreeSet有什么共同点?有什么不同?HashMap和Hashtable有什么区别?他们分别继承了什么类?实现了什么接口?为什么要引入泛型集合?,提问,List list = new LinkedList();for(int i = 0; i list.size(); i+) list.remove(i);,Map map =

2、new HashMap();for(int i = 0; i map.size(); i+) System.out.println(map.get(i);,第十二章 文件操作,第一节 什么是文件,Java程序设计,什么是文件? 文件可认为是相关记录或放在一起的数据的集合文件一般存储在哪里?,问题,JAVA程序中如何表示文件?,JAVA API :java.io.File类,文件 1,File file = new File( String pathname );,File 类,创建文件对象,物理文件或目录,操作文件或目录的属性(路径、权限、日期和时间等 ),c:test .txt或c:/tes

3、t .txt,通过文件对象的方法,File类访问文件属性,文件 2,File类的常用方法,文件 3,第十二章 文件操作,第二节 流,Java程序设计,流,磁盘上的文件是通过什么形式读取到程序中的?程序通过流来读写文件流是指一连串流动的字符(字节),是以先进先出方式发送信息的通道,InputStream,OutputStream,来自数据源的数据流,流向目的地的数据流,问题,分析,输入/输出流与数据源,Java流的分类,输入输出流是相对于计算机内存来说的,字节流是 8 位通用字节流,字符流是16位Unicode字符流,文件的读写,文本文件的读写用FileInputStream和FileOutpu

4、tStream读写文本文件用BufferedReader和BufferedWriter读写文本文件二进制文件的读写使用DataInputStream和DataOutputStream读写二进制文件,第十二章 文件操作,第三节 文本文件的读写,Java程序设计,使用字节流读文本文件,import java.io.IOException;import java.io.FileInputStream;,FileInputStream fis= new FileInputStream(“c:test.txt);,fis.available(); fis.read();,fis.close();,实现步

5、骤,关闭文件操作一定要在finally中否则很可能造成文件损坏,或者访问冲突。,警告,FileInputStream小结,使用字节流写文本文件,import java.io.IOException;import java.io.FileOutputStream;,(c:test.txt);,String str =好好学习Java;byte words = str.getBytes();fos.write(words, 0, words.length);,fos.close();,FileOutputStream,FileOutputStream,fos = new,实现步骤,FileOutp

6、utStream小结,1、前两种构造方法在向文件写数据时将覆盖文件中原有的内容,注意,2、创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件,3、创建文件时,必须保证其路径存在,否则文件创建失败,使用字符流读写文件 1,格式模版保存在文本文件pet.template中,内容如下:您好!我的名字是name,我是一只type。我的主人是master。其中name、type、master是需要替换的内容,现在要求按照模板格式保存宠物数据到文本文件,即把name、type、master替换为具体的宠物信息,该如何实现呢?,问题,使用字符流读写文件 2,可以把该

7、问题分解为:如何从文件中读取模版?如何替换模版中的内容为当前宠物信息?如何将文本保存到文件?,使用Reader接口实现,使用String的replace()方法实现,使用Writer接口实现,分析,使用字符流读写文本更合适,使用FileReader读取文件,import java.io.Reader;import java.io.FileReader;import java.io.IOException;. ./创建 FileReader对象对象Reader fr=null;StringBuffer sbf=null;try fr = new FileReader(D:myDoc简介.txt)

8、; char ch=new char1024; /创建字符数组作为中转站 sbf=new StringBuffer(); int length=fr.read(ch); /将字符读入数组 while (length!= -1) /循环读取并追加字符 sbf.append(ch); /追加到字符串 length=fr.read(); . . fr.close();,1、引入相关的类,2、创建FileReader对象,3、读取文本文件的数据,4、关闭相关的流对象,与字节流FileInputStream类实现文本文件读取步骤类似,BufferedReader类,如何提高字符流读取文本文件的效率? 使

9、用FileReader类与BufferedReader类,问题,BufferedReader类特有的方法,BufferedReader类是Reader类的子类BufferedReader类带有缓冲区按行读取内容的readLine()方法,使用 BufferedReader 读文本文件,import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException;,Reader fr=new FileReader(C:myTest.txt ); BufferedReader br=new BufferedRe

10、ader(fr);,br.readLine();,br.close();fr.close();,实现步骤,BufferedReader小结,Reader类常用方法int read( )int read(byte c)read(char c,int off,int len)void close( )子类BufferedReader常用的构造方法 BufferedReader(Reader in)子类BufferedReader特有的方法 readLine(),使用FileWriter写文件,import java.io.Reader;import java.io.FileWriter ;impo

11、rt java.io.IOException;. .try /创建一个FileWriter对象 fw=new FileWriter(D:myDoc简介.txt); /写入信息 fw.write(我热爱我的团队!); fw.flush(); /刷新缓冲区 catch(IOException e) System.out.println(文件不存在!); fw.close(); /关闭流 ,1、引入相关的类,2、创建FileWriter对象,3、写文本文件,4、关闭相关的流对象,示例,与字节流FileOutputStream类实现向文本文件写入数据步骤类似,BufferedWriter类,如何提高字

12、符流写文本文件的效率? 使用FileWriter类与BufferedWriter类,问题,BufferedWriter类是Writer类的子类BufferedWriter类带有缓冲区,使用 BufferedWriter 写文件,实现步骤,import java.io.FileWriter ;import java.io.BufferedWriter ;import java.io.IOException;,FileWriter fw=new FileWriter(C:myTest.txt); BufferedWriter bw=new BufferedWriter(fw);,bw.write(

13、hello);,bw.flush(); fw.close();,BufferedWriter小结,Writer类常用方法write(String str)write(String str,int off,int len)void close()void flush()子类BufferedWriter常用的构造方法 BufferedReader(Writer out),第十二章 文件操作,第四节 二进制文件的读写,Java程序设计,读写二进制文件,DataInputStream类FileInputStream的子类与FileInputStream类结合使用读取二进制文件DataOutputStr

14、eam类FileOutputStream的子类与FileOutputStream类结合使用写二进制文件,使用 DataInputStream 读二进制文件,实现步骤,import java.io.FileInputStream; import java.io.DataInputStream;,FileInputStream fis=new FileInputStream(C:HelloWorld.class);DataInputStream dis=new DataInputStream(fis);,dis.read ();,dis.close();,与字节流FileInputStream类实现文本文件读取步骤极其相似,使用 DataOutputStream写二进制文件,实现步骤,import java.io.FileOutputStream; import java.io.DataOutputStream;,FileOutputStream outFile=new FileOutputStream(C:temp.class);DataOutputStream out=new DataOutputStream(outFile);,out.write(1);,out.close();,与字节流FileOutputStream类实现文本文件读取步骤极其相似,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号