- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]Java语言程序设计_基础篇_中文ppt_第十九章
* 随机访问文件 目前,你已经使用过的所有数据流都是只读或只写的。这些数据流的外部文件都是顺序文件,如果不创建新文件就不能更新它们。经常需要修改文件或向文件中插入新纪录。Java提供了RandomAccessFile类,允许在文件内的随机位置上进行读写。 * RandomAccessFile * 文件指针 随机访问文件由字节序列组成。一个被称为文件指针的特殊标记定位这些字节中某个字节的位置。读写操作就是在文件指针所指的位置上进行的。打开文件时,文件指针置于文件的起始位置。在对文件进行读写数据时,文件指针就会向前移到下一个数据。例如:如果使用readInt()方法读取一个int数据,那么Java虚拟机就会从文件指针处读取四个字节,现在,文件指针就会从它之间的位置向前移动四个字节,如图所示: * RandomAccessFile类的方法 RandomAccessFile类中的许多方法都和DataInputStream类和DataOutputStream类中的方一样。例如:readInt()、readLong()、writeDouble()、readLine()、writeInt()和writeLong()既可以在数据输入流和数据输出流中使用,也可以在机访问文件流中使用。 * RandomAccessFile类的方法(续) void seek(long pos) throws IOException; 将文件指针设置到随机访问文件流下一个读或写的起始位置。 long getFilePointer() IOException; 返回当前偏移量,以字节为单位,从文件开始位置到下一个读或写发生的地方。 * RandomAccessFile类的方法(续) long length()IOException 返回文件的长度。 final void writeChar(int v) throws IOException 向文件写入一个两字节的统一编码的字符,先写入高位字节。 final void writeChars(String s)throws IOException 向文件写入一个字符序列。 * RandomAccessFile类的构造函数 RandomAccessFile raf =new RandomAccessFile(test.dat, rw); //allows read and write RandomAccessFile raf =new RandomAccessFile(test.dat, r); //read only * 一个RandomAccessFile的短小例子 Run TestRandomAccessFile * 实例学习:地址簿 开发一个使用RandomAccessFile流来存储和查看地址簿的有用的工程。程序的用户接口如图所示。点击Add按钮将一条新地址存储到文件末尾。按钮First、Next、Previous和Last按钮分别从文件中提取第一条、下一条、前一条和最后一条地址信息。 配套网站 * 固定长度的字符串I/O 随机访问文件经常被用于处理记录的文件。为方便起见,在随机访问文件中使用固定长度的记录,以便在文件中很容易地定位一个记录。一个记录由一个固定的字段数构成。一个字段可以是一个字符串或者一个原始数据类型。一个固定长度的记录中的字符串有一个最大长度。如果一个字符串小于最大长度,剩下的字符串用空格填充。 FixedLengthStringIO 配套网站 * 地址簿实现 剩下的工作可以按如下步骤总结: ??? 创建用户接口。 向文件添加一条记录。 ?? 从文件中读取一条记录。 ?? 编写代码执行按下按钮后的动作代码。 Run AddressBook 配套网站 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 * 第19章 二进制I/O * 动 因 在文本文件中存储的数据是以我们能读懂的方式表示的。而在二进制文件中存储的数据是用二进制形式表示的。我们是读不懂二进制文件的,因为它们是为让程序来读取而设计的。例如:Java源程序存储在文本文件中,可以使用文本编辑器阅读,但是,Java类存储在二进制文件中,可以被Java虚拟机阅读。二进制文件的优势在于它的处理效率比文本文件高。 * 学习目标 了解在Java中如何处理I/O(第19.2节)。 区分文本I/O与二进制I/O的不同 (第19.3节)。 使用FileInputStream和FileOutputStream来读写字
您可能关注的文档
- [计算机硬件及网络]天正建筑8AutoCAD 2008基础教程18章.ppt
- [计算机硬件及网络]大学计算机基础03.ppt
- [计算机硬件及网络]尚乘教育苹果 iOS 开发培训课程 07 View Controllers.pdf
- [计算机硬件及网络]广东移动万花筒.ppt
- [计算机硬件及网络]张家界铁通宽带用户使用指导手册FTTH.doc
- [计算机硬件及网络]层3信令详解L3 messageA.doc
- [计算机硬件及网络]微机原理与接口技术汇编语言程序设计.ppt
- [计算机硬件及网络]微机原理与接口技术第05章XP.ppt
- [计算机硬件及网络]思科路由器配置命令详解及实例免积分.doc
- [计算机硬件及网络]打印机管理.ppt
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)