Java IO流(标准完整版本).docxVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 流(Stream)、 输入/输出IO 和 文件(File) 一 .流的简述 原由:在变量、数组、对象和集合中存储的数据是暂时的,程序结束他们就丢失。 为了保存相应数据,则出现了java 的 I/O 流 技术。 作用:将数据保存至文本文件(字符)和 二进制文件(字节)中,并能读取。 Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持的格式如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列:输入流 即 读取数据,输出流 即 向目标写数据。 可按以下方式分类 数据流向: 输入流 和 输出流 数据单位: 字节流 和 字符流 按功能: 节点流 和 处理流 1.输入流 和 输出流 如下图: 2.字节流 和 字符流 字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同。 字节流操作的单元是数据单元是8位的字节, 字符流操作的是数据单元为16位的字符。 为什么要有字符流? Java中字符是采用Unicode标准,Unicode 编码中,一个英文为一个字节,一个中文为两个字节。 而在UTF-8编码中,一个中文字符是3个字节。例如下面图中,“云深不知处”5个中文对应的是15个字节:-28-70-111-26-73-79-28-72-115-25-97-91-27-92-124 那么问题是,一旦将一个字符对应的字节分裂开来,就会出现乱码了。 为了更方便地处理中文这些字符,Java就推出了字符流。 总之:字节流可以处理一切文件,而字符流只能处理纯文本文件。 3、节点流和处理流 节点流:直接操作数据读写的流类,比如FileInputStream 。 处理流:对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能,例如BufferedInputStream(缓冲字节流) 处理流和节点流应用了Java的装饰者设计模式。 下图就很形象地描绘了节点流和处理流,处理流是对节点流的封装,最终的数据处理还是由节点流完成的。 在诸多处理流中,有一个非常重要,那就是缓冲流。 我们知道,程序与磁盘的交互相对于内存运算是很慢的,容易成为程序的性能瓶颈。减少程序与磁盘的交互,是提升程序效率一种有效手段。缓冲流,就应用这种思路:普通流每次读写一个字节,而缓冲流在内存中设置一个缓存区,缓冲区先存储足够的待操作数据后,再与内存或磁盘进行交互。这样,在总数据量不变的情况下,通过提高每次交互的数据量,减少了交互次数。 字节流本身没有缓冲区,缓冲字节流相对于字节流,效率提升非常高。 而字符流本身就带有缓冲区,缓冲字符流相对于字符流效率提升就不是那么大了。 4.常用流分类表 以下为常用流分类表 _ 形式1     抽象类 子类   孙子类   FileInputStream BufferedInputStream FilterInputStream   DataInputStream ObjectInputStream PushbackInputStream InputStream PipeInputStream   SequenceInputStream   StringInputStream   ByteArrayInputStream 字节流       FileOutStream BufferedOutStream     FilterOutStream   DataOutStream     ObjectOutStream PrintStream   OutputStream PipeOutStream   SequenceOutStream   StringOutStream   ByteArrayOutStream IO流     BufferReader   InputStreamReader   FileReader   StringReader   PipeReader   Reader CharArrayReader     FilterReader   PushbackReader 字符流     BufferWriter   OutputStreamWriter   FileWriter Writer StringWriter PipeWriter CharArrayWriter FilterWriter   PushbackWriter PrintWriter 以下为常用流分类表 _ 形式2 (便于直观 类名有分行,实际需连在一起) 分类 字节 输入流 字节 输出流 字符 输入流 字符 输出流 节点流 抽象基类 InputStream OutputStream Reader Writer

文档评论(0)

小青欣文案铺 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档