转载请注明原出处:http://www.cnblogs.com/lighten/p/7264196.html

1.前言

  断更一段时间,计划果然赶不上变化(还是太懒...)。这次一次性将剩余的5组字符流说完,原本也没有什么值得一说的了,再花两节描述完整个IO包的相关剩余内容和总结,就结束这一章节的学习了。看源代码可以将一些似是而非的不明之处明确,所以还是很有必要的。

2.Filter

  FilterReader和FilterWriter没有任何值得一提的地方,只是包装了一下所接受持有的其它Reader和Writer,然后调用其相关接口定义的方法而已。是一个抽象父类,比起字节流的Filter相关内,字符流的没有起到什么作用,实现类也少。

3.InputStreamReader和OutputStreamWriter

   这两个类原本是应该好好讲一下的,但是由于其实现实际上是借助了StreamDecoder和StreamEncoder这两个同样继承自Reader和Writer的类,InputStreamReader和OutputStreamWriter也就是调用了其类的相关方法。在初始化的时候,通过其静态方法,接受一个字节流产生对应的StreamDecoder和StreamEncoder。由于这两个类是sun包下,无法看到源代码,也就没什么可说的(还是懒),不过作用应该就是对字节按照指定的编码方式进行编码成字符。

4.File

  FileReader和FileWriter就是继承自上述的InputStreamReader和OutputStreamWriter,里面传递的是创建的一个文件字符流。整个过程其实是通过StreamDecoder和StreamEncoder包装文件的字节流,将其内容转换成字符。其它的也没什么。

5.Piped

  管道字符流和管道字节流几乎一模一样,就是一个char和byte的区别。直接看前面所讲的管道字节流的相关内容就可以了。这里不再阐述。

6.String

  StringReader和StringWriter的作用和CharArrayReader和CharArrayWriter基本一样,不过一个接收字符数组,一个接收字符串罢了,其它的没什么区别。和ByteArray字节流作用一致。

Java之IO(十三)File、Filter、Piped、String和InputStreamReader与OutputStreamWriter的更多相关文章

  1. Java基础-IO流对象之转换流(InputStreamReader与OutoutStreamWriter)

    Java基础-IO流对象之转换流(InputStreamReader与OutoutStreamWriter) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.转换流概述 我们之前 ...

  2. java之io之File类的list()方法过滤目录的使用

    java的io的知识中,File类必须掌握.File类是对文件或者文件夹的封装.它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等. 如果Fi ...

  3. Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)

    第一讲     File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不 ...

  4. Java的IO操作---File类

    目标 1)掌握File类作用 2)可以使用file类中方法对文件进行读写操作. File类 唯一与文件有关的类.使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法. ...

  5. java之io之file类的常用操作

    java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOE ...

  6. Java中 IO类 - File类中的判断功能

    package com.hxzy.IOSer;import java.io.*;public class Demo05 { public static void main(String[] args) ...

  7. Java中Io类-File类的构造方法

    package com.hxzy.IOSer;import java.io.*;public class Demo02 { public static void main(String[] args) ...

  8. JAVA基础--IO输入输出(File使用)17

    一. File中的方法 1.  列举方法 /* * 获取指定目录以及子目录下的所有文件和文件夹 */ public class ListFilesDemo { public static void m ...

  9. Java文件(io)编程——File类的基本用法

    1.首先了解文件流的相关概念: 2.文件File类的基本用法 public class Demo_1 { public static void main(String[] args) { //创建一个 ...

随机推荐

  1. mysql报错排查总结

    mysql报错: [root@zabbix ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through sock ...

  2. 测试mktime和localtime_r性能及优化方法

    // 测试mktime和localtime_r性能及优化方法 // // 编译方法:g++ -g -o x x.cpp或g++ -O2 -o x x.cpp,两种编译方式性能基本相同. // // 结 ...

  3. struts2从浅至深(六)contextMap(存取数据)

    A:存数据 1.利用ActionContext存数据 这种方式最简便 这是一个购物车案例 把查询来的数据放入到Session中存储起来 2.利用valuestack值栈存数据 把查询出来的数据放入到值 ...

  4. stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编

    sstdafx.h.stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要 ...

  5. 深入浅析Node.js单线程模型

    Node.js采用 事件驱动 和 异步I/O 的方式,实现了一个单线程.高并发的运行时环境,而单线程就意味着同一时间只能做一件事,那么Node.js如何利用单线程来实现高并发和异步I/O?本文将围绕这 ...

  6. Difference between the Bill of distribution and sourcing rule.

        https://forums.oracle.com/thread/936768 This is from a users guide  Oracle Supply Chain Planning ...

  7. Android-ByteUtil工具类

    Byte处理转换相关的工具类: public class ByteUtil { private ByteUtil(){} /** * 把byte[] 转成 Stirng * @param bytes ...

  8. C# 标准事件模式

    .NET框架为事件定义了一个标准模式,它的目的是保持框架和用户代码之间的一致性. 标准事件的模式核心是SystemEventArgs——预定义的没有成员的框架类(不同于静态Empty属性) Event ...

  9. 内存耗用:VSS/RSS/PSS/USS

    Terms VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - P ...

  10. day57作业(包含data内容)

    day57作业 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&quo ...