java,io流学习总结.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java,io流学习总结

PAGE17 / NUMPAGES17 java,io流学习总结 篇一:Java之IO流学习总结 Java之IO流学习总结 一、什么是流? 流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流,流机制是Java及C++中的一个重要机制,通过流我们可以自由地控制文件、内存、IO设备等数据的流向。而IO流就是用于处理设备上的数据,如:硬盘、内存、键盘录入等。IO流根据处理类型的不同可分为字节流和字符流,根据流向的不同可分为输入流和输出流。 二、字节流和字符流的区别: 字符流,因为文件编码的不同,就有了对字符进行高效操作的字符流对象,它的原理就是基于字节流读取字节时去查了指定的码表。它和字节流的区别有两点:1.在读取数据的时候,字节流读到一个字节就返回一个字节,字符流使用了字节流读到一个或多个字节(一个中文对应的字节数是两个,在UTF-8码表中是3个字节)时,先去查指定的编码表,再将查到的字符返回;2.字节流可以处理所有类型的数据,如jpg、avi、mp3、wav等等,而字符流只能处理字符数据。所以可以根据处理的文件不同考虑使用字节流还是字符流,如果是纯文本数据可以优先考虑字符流,否则使用字节流。 三、IO体系,所具备的基本功能就是读和写: 1.字符流 |-- Reader(读) |-- Writer(写) Reader |--InputStreamReader |--FileReader:用于处理文件的字符读取流对象 Writer |--OutputStreamWriter |--FileWriter:用于处理文件的字符写入流对象 其实很容易就可以看出来,IO体系中的子类名后缀绝大部分是父类名称,而前缀则是体现子类特有功能的名称。 Reader中常见的方法: |--int read() 读取一个字符,并返回读到的这个字符,读到流的末尾则返回-1。 |--int read(char[]) 将读到的字符存入指定的数组中,返回的是读到的字符个数,读到流的末尾则返回-1。 |--close() 读取字符其实用的是window系统的功能,就希望使用完毕后,进行资源的释放。 FileReader除了自己的构造函数外没有特有的方法: |--用于读取文本文件的流对象。 |--用于关联文本文件。 在读取流对象初始化时,必须要指定一个被读取的文件, 如果该文件不存在则会发生FileNotFoundException异常。 Writer中常见的方法: |--write() 将一个字符写入到流中。 |--write(char[]) 将一个字符数组写入到流中。 |--writer(String) 将一个字符写入到流中。 |--flush() 刷新流,将流中的数据刷新到目的地中,流还存在。 |--close() 关闭资源,在关闭钱会先调用flush(),刷新流中的数据到目的地。 FileWriter,除了自己的构造函数外没有特有的方法: |--该类的特点 |--用于处理文本文件 |--没有默认的编码表 |--有临时缓冲 |--构造函数,在写入流对象初始化时,必须要有一个存储数据的目的地。 |--FileWriter(String fileName),该构造器是干什么用的呢? |--调用系统资源 |--在指定位置创建一个文件,如果该文件已经存在则被覆盖。 |--FileWriter(String filename,Boolean append),这构造器的作用是当传入的boolean类型的值为true时,会在指定文件末尾处进行数据的续写。 清单1,将 文本数据保存到文件中代码 private static void test1(){FileWriter fw=null; //初始化FileWriter对象,指定文件名已经存储路径 fw=new FileWriter(quot;D:/test.txtquot;); fw.write(quot;将字符串写入流quot;); //将流中的数据刷新到目的地,流还在 fw.flush(); fw.write(quot;将字符串写入流quot;);} catch (IOException e) { e.printStackTrace();}finally{ if(fw!=null){ try {fw.close(); } catch (IOException e1) {e1.printStackTrace(); }}} } 清单2,读取一个已有文本文件,并将文本内容打印出来代码 private static void test2(){FileReade

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档