zoukankan      html  css  js  c++  java
  • 输入与输出,

    流是一个抽像概念,可以理解为输入与输出的途径。在java库类中,I/O部分的内容是很庞大的,有标准输入/输出、文件的操作。网络上的数据流、字符串流、对象流等。

    当程序需要读取数据时,就会开通一个通向数据源的流,这个数据源可以使文件、内存、或网络连接。类似的,当程序需要写入数据时,就会开启一个通向目的地的流。

    流的概念

    流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,,java把这些不同来源和目标的数据都统一抽像为数据流。流序列中的数据可以是没有进行加工的原始数据(二进制字节数据),也可以是经过编码的符合某种格式的数据。java中的流分两种:一种是字节流,另一种是字符流,分别由4个抽象类来表示(每种流包括输入和输出两种,所以一共四个):InputStream、OutputStream、Reader和Writer。java中其他多样变化的流均是由它们派生出来的。

                                                                                          FileInputStream

                                                                                          PipedInputStream                  [LineNumberInputStream

                                                                                           FilterInputStream--------------[DataInputStream

                                              InputStream                            ByteArrayInputStream         [BufferedInputStream

                                                                                           SequenceInputStream             [PushbckInputStream

                                                                                          StringBufferInputStream

                                                                                           ObjectInputStream

                                                                                          FileOutputStream

                                                                                           PipedOutputStream          [DataOutputStream

                                         OutputStream                              FilterOutputStream--------[BufferedOutputStream

                                                                                           ByteArrayOutputStream    [PrintStream

                                                                                           ObjectOutputStream

                                                                                            

                                                                                         BufferedReader----------LineNumberReader

                                                                                         CharArrayReader

                                 Reader                                              InputStreamReader---FileReader

                                                                                         FilterReader------------PushbackReader

                                                                                         PipedReader

                                                                                         StringReader

                                                                                          BufferedWriter

                                                                                           CharArrayWriter

                                                                                           OutputStreamReader---FileWriter

                                      Writer                                             FilterWriter

                                                                                            PipedWriter

                                                                                           StringWriter

                                                                                           FilterWriter

    其中InputStream和OutputStream在早期的java版本就已经存在了,它们是基于字节流的,而基于字符流的Reader和Writer是后来加入作为补充的。

    流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,输出流,只能往其中写,而不能读它。

    1:输入流

    输入流的信息源可以位于文件、内存、网络套接字等地方,信息员的类型可以包括对象,字符,图像,声音在内的任何类型。一旦打开输入流之后,程序就可从输入流串行读取数据。(如上图所示)

      2:输出流

    输出流和输入流相似,程序也能通过打开一个输出流并顺序的写入数据,将信息送至目的端。

                                                           

  • 相关阅读:
    如何在Linux下的C++文件使用GDB调试
    21天学通C++(C++程序的组成部分)
    嵌入式Linux应用程序开发
    项目部署的问题
    未解决
    报错
    随笔
    逆向工程出现的错误1
    jpa学习
    springmvc整合mybaits
  • 原文地址:https://www.cnblogs.com/Angella/p/6067751.html
Copyright © 2011-2022 走看看