黑马程序员_Java IO之OutputStream、InputStream、Writer、Reader类的使用
---------------------- android培训、java培训、期待与您交流! ----------------------
?
?
????????????在Java IO中提供了两种类型的操作流:
?
????????????????? ?-->字符流:以字符为单位的操作流
?????????????????? -->字节流:以字节为单位的操作流
?
????????????????? 每种类型的流又可细分为输入流和输出流,下面就对其最大父类做一分析。???
????
public abstract class OutputStreamextends Objectimplements Closeable, Flushable
public abstract class InputStreamextends Objectimplements Closeable
public abstract class Writerextends Objectimplements Appendable, Closeable, Flushable
public abstract class Readerextends Objectimplements Readable, Closeable
?
? 从四个类的定义可以发现其都被定义为抽象类,即不能通过自身进行对象的实例化操作,要想使用这四个类必须依靠子类对其进行实例化,即通过对象的多态性。
? 下面分别用字符流和字节流从一个文件中读取一串Hello World!!!,并将其输出到显示器上:
?????
?????? 1.通过字节流进行操作:
?
??
?
????????? 1.通过字节流进行操作:
?
?
?
?????? 字节流和字符流在使用上非常相似,就二者的不同进行简单的比较:
?
??????????????? --> 字节流在使用时并不会用到缓冲区,即内存,直接就是操作文件
????????????????????? 本身,而字符流在使用时使用了缓冲区,通过缓冲区再对文件进
??????????????????????行操作。因为在字符流的操作中,所有的字符都是在内存中形成
????????????????????? 的,输出前会将内容暂时保存在内存之中。
?
??????????????? --> 所有的文件(包括图片、声音、视频等各种文件)都是按照字节存
????????????????????? 贮的,在传递的过程中也是按照字节流的形式进行传递的;而字
????????????????????? 符只有在内存中才会形成。
?
?
?
---------------------- android培训、java培训、期待与您交流! ----------------------
?
详细请查看:http://edu.csdn.net/heima
?
?