- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十讲 Java数据流(续) 在上一讲中,我们主要讲了用于对字节流操作的有关的输入输出流。 基本数据流:InputStream和OutputStream 特点:抽象类,基类,不能直接与数据源和目的地建 立联系。 文件数据流:FileInputStream和FileOutputStream 特点:用于和文件建立联系,从文件中读写字节流。 缓冲区数据流:BufferedInputStream和 BufferedOutputStream 特点:用于在已经创建好的数据流上串接一个缓冲区,提高读写速度。 注意:不能直接与数据源和目的地建立联系。 数据数据流: DataInputStream和DataOutputStream 特点:从数据流中读写java的基本数据类型。 注意:不能直接与数据源和目的地建立联系。 对象数据流:ObjectInputStream和ObjectOutputStream 特点:用于将对象的数据成员以数据流的方式 存储。 注意:对象的静态数据成员不能存储,有些非静态的数据成员(线程,保密)需要加修饰字transient。不能直接与数据源和目的地建立联系。 分析下列语句的对与错 输入: FileInputStream is= new FileInputStream(“file.dat”); DataInputStream is= new DataInputStream(“file.dat”); BufferedInputStream is= new BufferedInputStream(System.in); ObjectInputStream is= new ObjectInputStream(“file.dat”); 例题:请写出符合下列要求的数据流。 将一个已经存在的文件f1.dat复制成另一个文件f2.dat。 给出可用的方案: 方案1: 输入流: 输出流: 例题:请写出符合下列要求的数据流。 方案2: 输入流: 输出流: 刚才介绍的几种字节数据流,一般不用于读写字符串。 为什么? 读写字符串应该用什么流? 读者和写者——Reader、 Writer 读者(Reader)和写者(Writer)是Java提供的用于读写字符的输入输出流的基类。 其他程序设计语言使用ASCII字符集,Java使用Unicode字符集来表示字符串和字符。 ASCII字符集是以一个字节(8bit)来表示一个字符,所以可以认为一个字符就是一个字节(byte) ,一个汉字当作两个字符处理。 Java使用的Unicode是一种大字符集,要用两个字节(16bit)来表示一个字符,这时字节与字符就不再一样了。 为了实现与其他程序语言及不同平台进行交互,Java必须提供一种16位的数据流处理方案。这种16位方案被称作读者Reader和写者Writer。 在java.io包中有许多不同类对其进行支持。其中最重要的方案是InputStreamReader和OutputStreamWriter。 InputStreamReader和OutputStreamWriter是字节流和字符流的转换接口。在构造一个InputStreamReader和OutputStreamWriter时,还可以定义16位的Unicode和其他平台的特定表示方法之间的转换规则。 使用这种转换规则,Java能够充分利用本地平台字符集设置的灵活性,同时又可通过内部使用Unicode保留平台无关性。 由于单字节表示字符的方法使用的广泛性,所以在进行Java字符与其他平台转换时如果不进行特定声明,在默认情况下,单纯构造一个读者或写者连接到一个数据流,则将字节码作为默认平台和Unicode进行转换。 转换规则: 在许多英语国家中采用的Latin-1编码系统。ISO8859-1是Latin-1编码系统映射到ASCII的标准。 也可以利用目前已提供支持的编码形式列表中的一项来指定另一种字节编码方式。这个编码形式列表可以在native2ascii工具文件中找到。 转换规则的应用 有的时候需要从与本地字符编码方式不同的数据源中读取数据。 例如从网络上一台不同类型的机器上读取数据,这时就需要用明确的字符编码方式来构造InputStreamReader,否则,程序会把读到的字符当作本地表达方法来进行转换,这样可能会引起错误。 如果读取的字符流不是来自本
您可能关注的文档
最近下载
- 安徽省芜湖市区2024-2025学年七年级下学期期末考试英语试卷(含答案,无听力).pdf VIP
- 2025 党校入党积极分子预备党员考试题库(含答案).docx VIP
- (高清版)-B-T 30146-2023 安全与韧性 业务连续性管理体系 要求.pdf VIP
- 猫病诊疗技术—猫静脉留置针放置技术.pptx VIP
- 保温装饰一体板施工技术交底.docx VIP
- 征信报告模板2025年新版可编辑带水印.pdf
- 2.3一次式 同步练习(4课时)2024-2025学年六年级上册数学沪教版(五四制).docx VIP
- 2025年建筑内部装修设计防火规范.doc
- 2022年中国人民解放军南部战区总医院医护人员招聘题库及答案解析.docx VIP
- 沪教版新教材初中数学2.3(3)一次式的加减.pptx VIP
文档评论(0)