zoukankan      html  css  js  c++  java
  • java--IO

      IO操作是指输入和输出流的操作,相对于内存而言,当我们从数据源中将数据读取到内存中,就是输入流,也叫读取流。

    当我们将内存中处理好的数据写入数据源,就是输出流,也叫写入流。

      流按照内容分类:字节流、字符流、对象流。

      按照方向分:输入流、输出流

      按照数据大小分:字节流、字符流

      按照功能分:节点流、处理流

      其实真正的流只有一种:字节流。   数据的传输在底层都是以二进制方式传输。所以无论是哪种流都是字节流。而字符流和对象流都是在字节流的基础上做了一层封装,以便对字符数据和对象数据进行操作。

      所有字节流的父类:inputstream和outputstream

      所有字符流的父类:Reader和Writer

    流操作的步骤:

    1.建立流:建立内存和数据源之间传输数据的通道;

    2.操作流:操作传输的数据;

    3.关闭流:关闭内存和数据源之间的通道;

    建立流:

    InputStream in=new FileInputStream(文件地址);

    in.read();------>返回的是数据                            in.close----------->关闭流

      当操作文件流时,如果文件不存在,读取流时会抛出   File NotFoundException;

    int n=0;

    byte[] bytes=new byte[1024];

    while(n=in.read(bytes)!=-1){         //    如果等于1,读取完毕

      system.out.printle(new String(bytes,"gbk"));

      }

    写入流:

    OutputStream out=null;

      out=new FileOutputStream("txt");  如果不写第二个参数,则为覆盖         如果第二个参数为true,则表示以追加的方式写入数据

      out=new fileOutStream("atm.txt",true);

      out.writer("字符串".getBytes());

    流使用完毕后必须关闭,如果不关闭会浪费内存资源,而且写入流可能写不进数据。先关闭写入流,后关闭读取流。后建立先关闭。

    字符流:

    BfferedReader   加强类,缓冲读取流。

    Reader r=null;

    BufferReader b=null;

    r=new FileReader("txt");

    b=new BufferedReader(r);

    String s="    ";

    while((s=b.readLine()!=null){      }

    写入字符流:

    w.write();------直接写入字符串

    w.flush();------刷新流

  • 相关阅读:
    PAT B1027 打印沙漏 (20 分)
    PAT B1025 反转链表 (25 分)
    PAT B1022 D进制的A+B (20 分)
    PAT B1018 锤子剪刀布 (20 分)
    PAT B1017 A除以B (20 分)
    PAT B1015 德才论 (25 分)
    PAT B1013 数素数 (20 分)
    PAT B1010 一元多项式求导 (25 分)
    HDU 1405 The Last Practice
    HDU 1165 Eddy's research II
  • 原文地址:https://www.cnblogs.com/JackieADBM/p/5444756.html
Copyright © 2011-2022 走看看