- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13讲义 输入输出:文件IO和二进制IO(4学时 43-46)
第13讲 文件I/O和二进制I/O
介绍
二进制文件中存储的数据是用二进制形式表示的,是一堆01数据,是为让程序来读取而设计的,人是看不懂的。(Java类文件存储在二进制文件中,它可以被JVM读取并执行)。文本文件中存储的数据是以我们能读懂的方式表示的。是字符串序列。(Java源程序)二进制文件的优势在于它的处理效率比文本文件高。
二进制文件的优势在于它的处理效率比文本文件高。比方说,文本文件是由字符串序列构成的,而二进制文件是由位序列构成。例如:十进制整数199在文本文件中是以三个字符序列“1”、“9”、“9”来存储的,而在二进制文件中它是以byte类型的值C7存储的,因为十进制数199等价的十六进制数是C7。Ad1fas2b
文本文件
File类特意提供了一种抽象,这种抽象是指以不依赖机器的方式来处理很多文件和路径名依赖机器的复杂问题。文件名是一个字符串。File类是文件及其目录路径的一个包装类。
File对象封装了文件或路径的属性,但是它既不包括从文件读数据的方法,也不包括向文件写数据的方法。为了完成I/O操作,需要使用恰当的Java I/O类创建对象。这些对象包含从(向)文件读(写)数据的方法。Java如何处理输入和输出呢?(采用Scanner和PrintWriter类)
二进制文件
File对象封装文件或路径属性,但是不包含从/向文件读/写数据的方法。为了进行I/O操作,需要使用正确的Java I/O类创建对象。
那么Java如何处理输入和输出呢?(采用Scanner和PrintWriter类)
Scanner input = new Scanner(new File(temp.txt));
System.out.println(input.nextLine());
PrintWriter output = new PrintWriter(temp.txt);
output.println(Java 101);
output.close();
二进制I/O:
文本I/O需要进行编码和解码。在写入一个字符时,Java虚拟机会将统一码转化为特定文件编码,而在读取字符时,将特定文件编码转化为统一码。二进制I/O不需要转化。如果你向文件写入一个字节,就是将原始的字节复制到文件中。当从文件读取一个字节时,就会返回文件中的确切字节。
二进制I/O的类
FileInputStream/FileOutputStream类将一个二进制输入/输出流和一个外部文件相关联。 FileInputStream/FileOutputStream中所有的方法都是从它的父类继承的。
为了构造一个FileInputStream对象,使用下面的构造方法:
public FileInputStream(String filename)
public FileInputStream(File file)
如果试图用一个不存在的文件创建FileInputStream对象,将会发生java.io.FileNotFoundException异常。
要构造一个FileOutputStream对象,使用下面的构造方法:
public FileOutputStream(String filename)
public FileOutputStream(File file)
public FileOutputStream(String filename, boolean append)
public FileOutputStream(File file, boolean append)
如果这个文件不存在,就会创建一个新文件。如果这个文件已经存在,前两个构造方法将会删除文件的当前内容。为了既保留文件现有的内容又可以给文件追加新数据,将最后两个构造方法中的参数append设置为true即可。
过滤器数据流是为了某种目的过滤字节的数据流。基本字节输入流提供的读取方法只能用来读取字节。如果要读取整数值、双精度值或字符串,那就需要一个过滤器类来包装字节输入流。使用过滤器类就可以读取整数值、双精度值和字符串,而不是字节或字符。
FilterInputStream类和FilterOutputStream类是过滤数据的基类。需要处理基本数值类型时,就使用 DatInputStream类和DataOutputStream类来过滤字节。
DataInputStream从数据流读取字节,并且将它们转换为正确的基本类型值或字符串。
DataOutputStream 将基本类型值或字符串转换为字节,并且将字节输出到数据流。DataInputStream类扩展FilterInputStream类并实现DataInput接口
二进制I/O中的字符和字符串
一个统一码由两个字节构成。方法writeC
您可能关注的文档
- 英语报刊选读3-31 Lesson 5.ppt
- 第四章 2012沉淀滴定法(新).ppt
- 四年级下数学复习.ppt
- 2014年高中历史人民版同步课件:必修3专题5第1课 文化事业的曲折发展(共31张).ppt
- 2011英语复习课件:Unit18《Beauty》(北师大版选修6).ppt
- 《基本营养物质》课件18(60张PPT)(人教版必修2).ppt
- 第六节路线价法.ppt
- 人教版八年级下:Unit5 If you go to the party, you’ll have a great time!(共31张课件).ppt
- 2014年高中历史人教版同步课件:必修1第5单元第18课 马克思主义诞生(共31张).ppt
- 2014年高中历史人民版同步课件:必修1专题5第2课 外交关系的突破(共31张).ppt
文档评论(0)