IO 流

作者: 夏日橘子冰 | 来源:发表于2017-07-03 14:34 被阅读0次

一、什么是IO


指的Java的输入和输出操作,I/O机制是基于数据流进行输入输出。

java.io是大多数面向数据流的输入输出类的主要软件包,此外,Java也对块传输提供支持,在核心库java.nio中采用的是快IO。

流IO简单易用,但效率较低。块IO效率很高,但编程比较复杂。

二、数据流分类


按照流中的数据分为:

1)字节流:数据流中最小数据单元是字节

2)字符流:数据流中最小数据单元是字符,Java的字符是Unicode编码,一个字符占2个字节

三、IO体系层次结构


四、java.io基本类库


1、四个基本类

2、IO框架

五、inputStream与reader,outputStream和writer差别

InputStream和OutputStream类处理的是字节流,Reader与Writer处理的是字符流,在处理字符流时涉及了字符编码的转换问题

Reader类能够将输入流中采用其他编码类型的字符转换为Unicode字符,然后在内存中为其分配内存;Writer类能够将内存中的Unicode字符转换为其他编码类型的字符,再写到输出流中。


六、如何选择IO流


1、确定数据源和数据目的(输入/输出)

    源:输入流 InputStream Reader

    目的:输出流 OutputStream Writer

2、明确操作的数据对象是否是纯文本

     是:字符流Reader,Writer

     否:字节流InputStream,OutputStream

3、明确具体的设备。

      1)是硬盘文件:File++:

           读取:FileInputStream,, FileReader,

           写入:FileOutputStream,FileWriter

      2)是内存用数组

           byte[]:ByteArrayInputStream, ByteArrayOutputStream

      3)是char[]:CharArrayReader, CharArrayWriter

      4)是String:StringBufferInputStream(已过时,因为其只能用于String的每个字符都是8位的字符串), StringReader, StringWriter

      5)是网络用Socket流

      6)是键盘:用System.in(是一个InputStream对象)读取,用System.out(是一个                 OutoutStream对象)打印

4、是否需要转换流

       是,就使用转换流,从Stream转化为Reader,Writer:InputStreamReader,    OutputStreamWriter

5、是否需要缓冲提高效率

       是就加上Buffered:BufferedInputStream, BufferedOuputStream, BuffereaReader, BufferedWriter5)是否需要格式化输出


七、IOException异常类的子类

1.public class  EOFException :

非正常到达文件尾或输入流尾时,抛出这种类型的异常。

2.public class FileNotFoundException:

当文件找不到时,抛出的异常。

3.public class InterruptedIOException:

当I/O操作被中断时,抛出这种类型的异常。


参考地址:http://blog.csdn.net/hguisu/article/details/7418161

相关文章

  • java基础-day20-IO流和StringBuffer

    IO流和StringBuffer 1. IO流 1.1 IO流概述 1.2 IO流分类 1.3 文件操作输入输出字...

  • Java之IO流详解

    title: Java之IO流详解tags: Java IO流categories: Java IO流 大多数应用...

  • 15_IO流

    IO流介绍 IO流是一个流水模型:IO理解成水管,把数据理解成水流 IO流的分类:按照流的方向分为:输入流、输出流...

  • IO流

    一、IO流 1.1 IO的概述 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对...

  • java io 流

    java io 流 io 流总览 io 流主要提供四个接口 InputStream: 输入字节流 OutputSt...

  • Java IO流(一)

    IO(Input Output)流的概述 下面给出IO流的基本概述,这样可以对IO流有一个宏观上的基本了解。 IO...

  • IO流

    一、IO流的概述: 二、IO流的分类: 三、字节缓冲流: 四、字符缓冲流: 五、转换流(把字节流转换为字符流): ...

  • IO流

    IO流的使用 今天咱们来说一下JAVA中最常用的数据处理的流 IO 流,说到IO啊,玩DOTA的小伙伴们就有声音...

  • IO流

    大家好,我是IT修真院深圳分院java第4期学员,一枚正直善良的java程序员。今天给大家分享一下,Java简单的...

  • IO流

    Input Output 输入流和输出流,字节流和字符流

网友评论

      本文标题:IO 流

      本文链接:https://www.haomeiwen.com/subject/bsmucxtx.html