




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
输入输出处理,第八章,2,回顾,异常的基本概念 异常的处理 异常类的层次结构 创建自己的异常,3,目标,输入/输出流的概念和类层次结构 主要字节流的定义和使用 主要字符流的定义和使用 文件管理以及文件操作 对象串行化的概念和实现方法 了解其他常用流的定义和使用,4,8.1.1 输入/输出流的概念,数据流:是指在计算机的输入输出之间运动的数据序列。 输入输出是相对程序来说的,程序扮演两个角色:源和目的。 输入流:代表从外设流入程序的数据序列; 输出流:代表从程序流向外设的数据序列。 字节流:在输入输出过程中以字节为单位。 字符流:在输入输出过程中以字符为单位。,5,8.1.2 输入输出类层次,6,8.1.3 标准输入输出,1.标准输入 public static final InputStream in 使用read()和skip(long n)方法读取。 2.标准输出 public static final PrintStream out 使用print()和println()来输出。 3.标准错误输出 public static final PrintStream err,7,8.2.1 文件输入输出字节流,(1)创建FileInputStream类对象; (2)读取文件信息; (3)创建FileOutputStream类对象; (4)向输出流写信息: void write(int b); void write(byte b ); void write( byte b ,int off,int len); (5)关闭FileInputStream流。,8,8.2.2 过滤流,1、DataInputStream,DataOutputStream 1使用数据流方法: (1)用前面的方法建立字节文件流对象; (2)基于字节文件流对象建立数据文件流对象; (3)用此对象方法对基本类型的数据进行输入/输出。 2创建数据流的构造方法。 2、BufferedInputStream,BufferedOutputStream (1)创建流对象BufferedOutputStream;(2)用flush()方法更新流; (3)创建BufferedInputStream对象; (4)缓冲流类的应用。 3、PrintStream类,9,8.3.1 输入输出字符流,常用的是InputStreamReader和OutputStreamWriter 1.其构造方法: InputStreamReader(InputStream in); InputStreamReader(InputStream in,String enc); OutputStreamWriter(OutputStream out); OutputStreamWriter(OutputStream out,String enc); 2.读写方法 3.其他方法 String getEncoding() public void colse(),8.3.2 文件输入输出字符流,FileReader和FileWriter是InputStreamReader和OutputStreamWriter的子类。构造方法各有两种。 FileReader(File f) FileReader(String fn) FileWriter(File f) FileWriter(String fn) 常用方法: read(); read(char buffer); write(String str); write(char buffer);,11,8.3.3 缓冲字符流,BufferedReader和BufferedWriter 构造方法: BufferedReader(Reader in) BufferedReader(Reader in,int size) BufferedWriter(Writer out) BufferedWriter(Writer out,int size) 常用方法:readLine( ); newLine( );,12,8.3.4 打印输出字符流,PrintWriter提供字符流的输出处理。 PrintWriter(OutputStream out) PrintWriter(OutputStream out,Boolean autoflush) PrintWriter(Writer out) PrintWriter(Writer out,Boolean autoflush),13,8.4.1 文件描述,在java.io包中的File类提供了平台无关的方式来描述目录和文件对象的属性。提供了很多的方法用来获取路径、目录和文件的相关信息。 目录管理 文件管理 1.文件的生成 2.文件名的处理 3.文件属性测试 4.文件信息处理,14,8.4.2 文件的顺序访问,1、引入“java.io”包,import java.io.*; 2、根据数据源和输入输出的任务建立字节或字符流。 3、若需要对字节或字符信息组织加工位数据在已建字节或字符流对象上建立数据流或缓冲流。 4、用输入输出流对象的成员方法进行读/写操作,需要时可设置指针位置。 5、关闭流对象。2-5要考虑异常处理。,15,8.4.3 文件的随机访问,使用下列构造方法创建流: RandomAccessFile(String name,String mode); RandomAccessFile(File name,String mode); mode的取值为”r”或”rw”,16,8.5.1 串行化的概念和目的,对象能记录自己状态以便将来再恢复的能力。 目的: (1)支持Java的对象持续性。 (2)支持对象的远程调用。 (3)严格遵守Java的对象模型,对象的串行化状态中应存有所有的关于种类的安全特性的信息。 (4)允许对象定义自身的格式。 (5)尽量保持对象串行化的简单扼要,但可以进行扩展和定制。,17,8.5.2 串行化方法,1.定义一个可串行化的对象 使此对象所属的类实现Serializable接口。 2.输出数据进行保存 使用输入输出流读取和保存对象的基本数据。,18,8.5.3 串行化注意事项,1. 串行化能保存的对象 2.transient关键字 3.安全问题,19,8.6 其他常用流,1、管道流PipedInputStream和PipedOutputStream 用于在不同的线程间直接传送数据。 2、内存的访问 ByteArrayInputStream和ByteArrayOutputStream 为提高安
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GSNOR-IN-1-生命科学试剂-MCE
- 2025福建泉州晋江国际机场招聘25人模拟试卷及答案详解(新)
- 安全培训效果评价计划课件
- 2025吉林农业大学招聘高层次人才7人模拟试卷及参考答案详解1套
- 广州货架安全管理培训课件
- 2025年第2批次浙江宁波前湾产业集团有限公司招聘9人考前自测高频考点模拟试题及完整答案详解
- 首饰产品质量承诺书6篇
- 智能制造产业智能化生产
- 2025福建泉州市安溪县部分公办学校专项招聘编制内新任教师65人(三)考前自测高频考点模拟试题及参考答案详解
- 直播带货合伙人合同协议书5篇
- 2025云南黄金矿业集团股份有限公司第二次招聘8人笔试备考试题及答案解析
- 第2课《中国人首次进入自己的空间站》教学设计统编版八年级语文上册
- 基础化学(第五版)课件 第一章 物质结构基础
- 化疗药物使用顺序课件
- 福州市晋安区社区工作者招聘笔试真题2024
- 教学课件模板美术
- 三基三严培训课件
- 抑郁症的患者护理查房
- 2024年一建水利水电真题答案
- 主播岗位职业生涯规划与管理
- 老年综合评估各种表格
评论
0/150
提交评论