- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch10 Java中的IO_2
IO编程(二) 主要内容 标准I/O 随机访问文件类 对象的序列化与反序列化 标准I/O 概述: 程序读写文件时,在读写完毕后,就会及时关闭输入流或输出流——这些输入流、输出流对象的生命周期是短暂的,不会存在程序运行的整个生命周期 程序运行的整个生命周期中,可能需要从同一个数据源读入数据,或向同一个目标输出数据——例如日志,用于跟踪用户、程序运行的状态 标准I/O 在java.lang.System类中提供了三个静态变量: System.in InputStream类型,标准输入流,默认数据源是键盘 程序中可利用System.in读取标准输入流中数据 System.out PrintStream类型,标准输出流,默认数据汇是控制台 程序可利用System.out输出运行时的正常消息 System.err PrintStream类型,标准错误输出流,默认数据汇是控制台 程序可利用System.err输出运行时的错误信息 标准I/O 标准I/O的说明: System.in、System.out、System.err三种流是由JVM创建的 三种流存在于程序运行的整个生命周期中 这三个流始终处于打开状态,除非程序中显式地关闭了它们 标准I/O 重新包装标准输入和输出: System.in是InputStream类型,为了能读到格式化的数据,以及提高读取数据的效率,可以利用适配器和装饰器进行重新包装 例如: 标准I/O 重新包装标准输入和输出: System.out和System.err是PrintStream类型,通常可以将它们转换成PrintWriter类型 例如: PrintWriter pw=new PrintWriter(System.out, true); 标准I/O 标准I/O重定向: System类中提供了重定向流的静态方法: setIn(InputStream in):对标准输入流重定向 setOut(PrintStream out):对标准输出流重定向 setErr(PrintStream out):对标准错误输出流重定向 示例:参见Redirecter.java 随机访问文件类 关于流: InputStream/OutputStream,或者Reader/Writer,它们的共同特点是: 只能按照数据的先后顺序读取数据源的数据 只能按照数据的先后顺序向数据汇写数据 RandomAccessFile类: 说明: 不属于流,具有随机读写文件的功能,能从文件的任意位置开始执行读写操作 实现了DataInput和DataOutput接口,能够读写格式化的数据 随机访问文件类 RandomAccessFile类: 构造方法: RandomAccessFile(File file, String mode) RandomAccessFile(String name, String mode) 说明:mode取值可以是:r(只读);rw(读写)——注意,该类不支持只写模式,所以w是非法的 该类提供了用于定位文件位置的方法: getFilePointer():返回当前读写指针所处的位置 seek(long pos):设定读写指针的位置,与文件开头相隔pos个字节 skipBytes(int n):从当前位置跳过n个字节 length():返回文件包含的字节数 随机访问文件类 RandomAccessFile类: 示例: 示例 利用随机函数生成不定数量个50~100之间的整数,输出到文件scores.dat中 要求输出时,文件中的一行上输出4个整数,以单个空格分隔 再从该文件中读出这不定个整数,求出其平均值,并打印输出到屏幕上 对象的序列化与反序列化 概述: 对象的序列化:把对象写到一个输出流中 对象的反序列化:从一个输入流中读取一个对象 Java语言要求,只有实现了java.io.Serializable接口的类的对象才能被序列化和反序列化 Serializable接口中没有定义任何方法 JDK类库中的有些类(如String、Date等)都实现了Serializable接口 对象的序列化和反序列化 对象序列化步骤: 创建一个对象输出流,它可以包装其他类型的输出流 ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(“employee.dat”)); 使用ObjectOutStream类的writeObject方法存储对象: Employee har=new Empleyee(“Ha”,5000,1990,12,1); Manager bos=new Manager(“Cal”,80000,1988,2,13); ArrayList lst=n
您可能关注的文档
最近下载
- 佳能5D4中文使用说明书.pptx VIP
- T_SXNA 002-2021_陕西省消毒供应中心达标验收标准.pdf
- 2025年武汉江岸区公开招聘社区干事24人笔试备考题库及答案解析.docx VIP
- 20250616-高盛-亚洲经济分析:中国的新增住房需求将保持低迷.docx VIP
- 濒危野生植物及其制品物种鉴定规范.pdf VIP
- 默纳克ME320L电梯专用变频器说明书.pdf
- 20S517- 排水管道出水口.pdf VIP
- 某集团有限公司绩效考核详细手册.docx VIP
- 东北林业大学《高等数学Ⅱ》2025-----2026学年期末试卷(A卷).docx
- 茶楼股东合作协议8篇.docx VIP
文档评论(0)