zoukankan      html  css  js  c++  java
  • 输入输出流的简单理解

    一.流的产生

       变量,数组和对象中存储的数据是暂时存在的,程序结束它们就会丢失.为了能够永久的保存程序创建的数据,需要将它们保存在磁盘文件中,

       这样i/o技术就产生了

    二.流分类

        1.按操作类型来分类

         输入流:从文件,网络,压缩包或其它数据源写入内存中目的地(InputStream,Reader)

       输出流:源地写出到文件,网络,压缩包或其它数据输出 (OutputStream,Writer)

          (通俗理解,从对用户可见不可见为输入流,从对用户不可见到用户可见的为输出流)

        2.按流的形式来分类

           字节流:InputStream(字节输入流),OutputStream(字节输出流) 

      字符流:Reader(字符输入流),Writer(字符输出流)

           这四个为抽象类,所有输入流为InputStream或Reader的子类,所有输出流为OutputStream或Writer的子类

    三.流的使用

          下面以最常用的FileOutputStream,FileInputStream为例,实例I/O流的使用

          因为是从不可见的数组到可见的文件中,所以用FileOutputStream

        File file=new File("c:/text.txt");  //定义一个新的文件对象
            byte [] b="有志者,事竟成!".getBytes(); //将字节数组作为源
            FileOutputStream out=new FileOutputStream(file); //这里是从数组输出到文件(不可见到可见)
             out.write(b);//数组写入文件
             out.close(); //用完关闭流

        从文件中的信息写入数组,从可见到不可见,所以用FileInputStream

         File file=new File("c:/text.txt");  //定义一个新的文件对象(C盘存在这个文件)
            byte []b=new byte[200]; //作为接收写入的目的源字节数组
            FileInputStream in=new FileInputStream(file);
            in.read(b);
            for(int i=0;i<b.length;i++){
                System.out.println(new String(b,0,b.length));
            }
    

       仅以这两个作为小实例,下面附上JDK1.7版本API中InoutStream和OutputStream的常用方法

      InputStream:

        

        OutputStream:

        

      

          

      

  • 相关阅读:
    C语言预处理
    C语言结构体对齐
    C语言共用体、大小端、枚举
    C语言内存分配方法。
    C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用
    C语言中函数的传入值与传出值
    #define与typedef在重定义类型中的区别
    宏定义在位运算中的运用
    wait函数
    exit()与_exit()区别
  • 原文地址:https://www.cnblogs.com/goxcheer/p/7291688.html
Copyright © 2011-2022 走看看