




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java SE 094 Java字符流详解一、装饰模式要将原理搞清楚,什么是原理,不是说学IO本身的一些方法,它底层原理是装饰模式,只有将装饰模式掌握了,才能更好的应用IO里面的类,方法。如何去包装,跟实际的设备打交道的,一定是一个节点流,怎么去包装节点流,用过滤流去包装,过滤流还可以包装过滤流,具体怎么去读,read和write就完了。二、字符流尽管字节流提供了处理任何类型输入/输出操作的足够的功能,它们不能直接操作Unicode字符。既然Java的一个主要目的是支持“只写一次,到处运行”的哲学,包括直接的字符输入/输出支持是必要的。字符流层次结构的顶层是Reader和Writer抽象类。解说:之所以出现unicode字符是为了满足世界上多种语言,能表示世界上多种语言的字符。最早用于表示字符的编码是ASCII码,这个编码表示的英文是没问题的,但是表示东亚那些字符,汉语中文、日文,还有韩语都是表达不了的。一个Unicode字符是用两个字节表示的,如果单独的使用字节流的话,使用了unicode进行编码的字符,每次读一个字节,出来之后肯定不能够恢复到一个完整的字符,变成字符的一半了,字符的一半肯定就是乱码了,因此Java给我们提供了操纵字符的相应的功能,可以让我们以更加简单,更加方便的方式来去操纵字符串。三、字符流Reader和Writer由于Java采用16位的Unicode字符,因此需要基于字符的输入/输出操作。从Java1.1版开始,加入了专门处理字符流的抽象类Reader和Writer,前者用于处理输入,后者用于处理输出。这两个类类似于InputStream和OutputStream,也只是提供一些处理字符流的规定,本身不能用来生成对象。Reader和Writer类也有较多的子类,与字节流类似,它们用来创建具体的字符流对象进行I/O操作。字符流的读写方法与字节流的相应方法都很类似,但读写对象使用的是字符。解说:byte数组换成char数组Reader中包含一套字符输入流需要的方法,可以完成最基本的从输入流读入数据的功能。当Java程序需要外设的数据时,可根据数据的不同形式,创建一个适当的Reader子类类型的对象来完成与该外设的连接,然后再调用执行这个流类对象的特定输入方法,如read(),来实现对相应外设的输入操作。Writer中包含一套字符输出流需要的方法,可以完成最基本的从输出数据到输出流的功能。当Java程序需要将数据输出到外设时,可根据数据的不同形式,也要创建一个适当的Writer子类类型的对象来完成与该外设的连接,然后再调用执行这个流类对象的特定输出方法,如write(),来实现对相应外设的输出操作。Reader是定义Java的流式字符输入模式的抽象类。该类的所有方法在出错情况下都将引发IOException异常。Writer是定义流式字符输出的抽象类。所有该类的方法都返回一个void值并在出错情况下引发IOException异常。Java程序语言使用Unicode来表示字符串和字符,Unicode使用两个字节来表示一个字符,即一个字符占16位。四、InputStreamReader和OutputStreamWriter类这是java.io包中用于处理字符流的基本类,用来在字节流和字符流的基本类之间搭一座“桥”,这里的字节流的编码与具体的平台有关,可以在构造流对象时指定规范,也可以使用当前平台的缺省规范。五、字符流输入与输出package com.javase.io2;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;/* * 字符流输入与输出 * author x_xiongjie * */public class StreamTest public static void main(String args) throws IOException FileOutputStream fos = new FileOutputStream(file.txt);OutputStreamWriter osw = new OutputStreamWriter(fos);/先将内容写到缓冲区BufferedWriter bw = new BufferedWriter(osw);bw.write(I love Liu Manlin!);bw.write(n);bw.write(Liu Manlin love Xiongjie);bw.flush();bw.close();/从文件读FileInputStream fis = new FileInputStream(file.txt);InputStreamReader isr = new InputStreamReader(fis);BufferedReader br = new BufferedReader(isr);System.out.println(br.readLine();System.out.println(br.readLine();String str = br.readLine();while(null != str)System.out.println(str);System.out.println(br.readLine();br.close();六、System.out.println()out是System里面的一个成员变量,是一个标准的输出流。是PrintStream类型的,父类是一个FilterOutputStream,是一个过滤流,println()方法就是向标准输出设备上显示输出内容。对于计算机里面就是命令行。标准的输入设备就是键盘,从键盘里面去接收信息。 package com.javase.io2;import java.io.BufferedReader;import java.io.InputStreamReader;/* * 接收用户键盘输入 * author x_xiongjie * */public class StreamTest2 public static void main(String args) throws Exception InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);String str;while(null!=(str = br.readLine()System.out.println(str);br.close();读取源文件显示在命令行上面package com.javase.io2;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class FileReader1 public static void main(String args) throws IOException FileReader fr = new FileReader(E:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子信息设备研发与生产合作协议
- 2025年耐候性不锈钢防尘门定制安装工程合同
- 2025年绿色生态农场租赁合作协议范本
- 2025年金融机构管理层关键信息资产保护及合规操作协议
- 2025年智能健身房装修与设备采购一体化服务合同
- 2025年智能养殖种猪基地与农业科技金融服务合同
- 2025年生态保鲜技术绿色食品冷链仓储项目合作协议
- 2025年专业医疗设备引进与全方位售后服务保障合同
- 2025年古建筑修复合同示范文本古建翻新工程
- 海关特殊物品监管课件
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库带答案详解
- 二次装修管理培训课件
- 工程结构检测与加固- 课件 第4、5章 钢结构检测与加固、混凝土结构检测与加固
- 混凝土结构-钢筋位置、钢筋保护层厚度考试试题及答案
- 译林版九年级上下册英语单词表(含音标)
- 员工工资明细表Excel模板
- 计数型MSA分析表格
- 枢纽经济:区域经济发展新动能
- 临床实验中不良事件的管理
- 如何开展课题研究
- 炼钢厂电工应知应会考试题库500题(含各题型)
评论
0/150
提交评论