Java面向对象程序设计第2版第12章_输入输出流
《Java面向对象程序设计》第2版 第12章
输入输出流
Power point 制作:耿祥义 张跃平配合< Java面向对象程序设计>第2版 例子源代码一起使用
2014-10-14
导读主要内容 文件字节流与文件字符流 缓冲流 随机流 数组流 数据流 对象流 序列化与对象可隆 文件锁 使用Scanner解析文件 难点 序列化与对象可隆 使用Scanner解析文件2014-10-14 2
概述输入、输出流提供一条通道程序,可以使用这条通道 读取源中的数据或把数据传送到目的地。把输入流的指 向称作源,程序从指向源的输入流中读取源中的数据; 而输出流的指向是数据要去的一个目的地,程序通过向 输出流中写入数据把数据传送到目的地。
2014-10-14
§12.1 File类 File 对象主要用来获取文件本身的一些信 息,不涉及对文件的读写操作。 创建一个File对象的构造方法有3个:File(String filename); File(String directoryPath,String filename); File(File f, String filename);
例题12-1
2014-10-14
§12.1.1 文件的属性File类的下列方法获取文件本身的一些信息。 public String getName() 获取文件的名字。 public boolean canRead() 判断文件是否是可读的。 public boolean canWrite() 判断文件是否可被写入。 public boolean exits() 判断文件是否存在。 public long length() 获取文件的长度(单位是字节)。 public String getAbsolutePath() 获取文件的绝对路径。 public String getParent() 获取文件的父目录。 public boolean isFile() 判断文件是否是一个普通文件,而不是目录。 public boolean isDirectroy() 判断文件是否是一个目录。 public boolean isHidden() 判断文件是否是隐藏文件。 public long lastModified() 获取文件最后修改的时间。
2014-10-14
§12.1.2 目录 1.public boolean mkdir() 创建目录 2.列出目录中的文件public String[] list() 用字符串形式返回目录下的全部文件。 public File [] listFiles() 用File对象形式返回目录下的全部文件。
3.列出目录下指定类型的文件public String[] list(FilenameFilter obj) 用字符串形式返回目录下的 指定类型的所有文件。 public File [] listFiles(FilenameFilter obj) 用 File 对象形式返回目 录下的指定类型所有文件。 4.上述两方法的参数FilenameFilter是一个接口,该接口有一个方法: public boolean accept(File dir,String name);
例题12-2
2014-10-14
§12.1.3 文件的创建与删除 当使用File类创建一个文件对象后,例如File file=new File("c:\\myletter","letter.txt"); ◆如果c:\myletter目录中没有名字为letter.txt文件,文
件
对象file调用方法 public boolean createNewFile(); 可以在c:\myletter目录中建立一个名字为 letter.txt的文 件。 ◆文件对象调用方法 public boolean delete() 可以删除当前
文件,例如:file.delete();
2014-10-14
§12.1.4 运行可执行文件 ◆用Runtime 类声明一个对象( Runtime类在http://doc.guandang.netng包) Runtime ec; ◆ 然后使用该类的getRuntime()静态方法创建这个对象:ec=Runtime.getRuntime();
◆ ec可以调用exec(String command)方法打开本地机的可 执行文件或执行一个操作。例题12-3
2014-10-14
§12.2 文件字节流 如果程序对文件的操作比较简单,比如只 是顺序地读写文件,那么就可以使用 FileInputStream 和 FileOutputSream 类创建的 流对文件进行读写操作。
2014-10-14
§12.2.1 文件字节输入流1.创建文件字节输入流 FileInputStream类创建的对象被称作文件字节输入流。 ◆构造方法:FileInputStream(String name); FileInputStream(File file); ◆读取一个名为hello.txt的文件,建立一个文件输入流对象,如下所示:try { FileInputStream in = new FileInputStream("hello.txt"); } catch (IOException e) { System.out.println("File read error:"+e ); }
2.以字节为单位读文件 read方法的格式如下:int read(); int read(byte b[]); int read(byte b[],int off,int len);
例题12-42014-10-14 10
§12.2.2 文件字节输出流1.创建文件字节输出流 FileOutputStream类创建的对象被称作文件字节输出流。 ◆构造方法:FileOutputStream(String name) FileOutputStream(File file)
2.以字节为单位写文件 read方法的格式如下:public void write(byte b[]); public void write(byte b[],int off,int len);
例题12-5
2014-10-14
§12.2.3 关闭流close()方法
◆如果没有关闭那些被打开的流,那么就可能不允许 另一个程序操作这些流所用的资源。 ◆保证操作系统把流缓冲区的内容写到它的目的地。
2014-10-14
§12.3 文件字符流
1 . FileReader 和 FileWriter 用来创建文件字符输入、输出流, 构造方法:FileReader(String filename); FileReader(File filename); FileWriter (String filename); FileWriter (File filename);
2.字符输入流和输出流的 read和write方法以字符为基本单位 处理数据。int read() 字符输入流调用该方法从源中读取一个字符。 int read(char b[]) 字符输入流调用该方法从源中试图读取 b.length 个字符到字符数组b中。
int read(char b[], int off, int len)
字符输入流调用该方法从源中试图读
取len个字符并存放到字符数组b中。 void write(int n) 字符输出流调用该方法向文件写入一个字符。 void write(char b[]) 字符输出流调用该方法向文件写入一个字符数组。 void write(char b[],int off,int length) 字符输出流调用该方法把从字符数组 中起始于偏移量off处取出的len个字符写到文件。
例题12-62014-10-14 13
§12.4
缓冲流
1.BufferedReader和BufferedWriter类创建的对象称作缓冲 输入、输出流。二者的源和目的地必须是字符输入流和字符输出 流。
构造方法:BufferedReader(Reader in); BufferedWriter (Writer out);
2. BufferedReader和BufferedWriter类读写文件的方法:readLine() BufferedReader流读取文本行 write(String s,int off,int len)BufferedWriter流把字符串s写到文件中 newLine(); BufferedWriter流向文件写入一个回行符
例题12-7
2014-10-14
§12.5 文件对话框在学习了有关文件输入、输出流之后,就可以使用 文件对话框方便地打开和保存文件。例题12-8
2014-10-14
§12.6 随机流使用RandomAccessFile类来创建一个随机访问文件 流。RandomAccessFile类创建的流的指向既可以作为源 也可以作为目的地。构造方法: RandomAccessFile(String name,String mode) ; RandomAccessFile(File file,String mode) ;
◆相关方法:seek(long a) 定位RandomAccessFile流的读写位置 getFilePointer() 获取流的当前读写位置
例题12-9
◆表12.1 RandomAccessFile类的常用方法 ◆ 处理 readLine() 方法在读取含有非 ASCII 字符的文件时出现“乱码”现象的方法: 1.读取 String str=in.readLine(); 2.用“iso-8859-1” …… 此处隐藏:2537字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




