zoukankan      html  css  js  c++  java
  • JavaIO系统

    为了方便记忆,特将IO中涉及的类进行整理如下:

    1、File类

      提供了目录操作,查看文件属性等。

    2、java IO类层次

    面向字节流的类为InputStream、OutputStream;面向字符流的类为Reader、Writer

    可以使用 InputStreamReader 将 InputStream-->Reader

    可以使用OutputStreamWriter 将 OutputStream-->Writer

    InputStream    --->Reader

    |---ByteArrayInputStream  --->CharArrayReader

    |---StringBufferInputStream(discard)  --->StringReader

    |---FileInputStream  --->FileReader

    |---PipedInputStream  --->PipedReader

    |---FilterInputStream

         |---DataInputStream  

         |---BufferedInputStream  --->BufferedReader(has readLine function)

    OutputStream  --->Writer

    |---ByteArrayOutputStream  --->CharArrayWriter

    |---FileOutputStream  --->FileWriter

    |---PipedOutputStream  --->PipedWriter

    |---FilterOutputStream

         |---DataOutputStream

         |---PrintStream  --->PrintWriter

         |---BufferedOutputStream  --->BufferedWriter

    2、一些常用的组合

      BufferedReader s = new BufferedReader(new FileReader(fileName));   //字符缓冲方式读取

      DataInputStream di = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));   //从文件缓冲读取数据类型

      DataOutputStream outputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));   //将数据类型写入到文件之中,然后可以通过DataInputStream来读取

      PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));   //将文件通过PrintWriter方式格式化写入

        out.println 函数就可以格式化写文件内容了。

    3、RandomAccessFile类

      支持搜寻方法的文件读写类,提供给了seek函数

    4、标准IO

    System.err, System.out 都已经被包装成了 PrintStream 因此可以直接使用。

    System.in 还是属于 InputStream 类型,因此在使用前需要包装下。

      1)按行读取:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  ///使用了InputStreamReader将System.in表示的InputStream类型转换成Reader类型。

      2)将System.out转换成PrintWriter:PrintWriter pw = new PrintWriter(System.out,true);

    5、重定向IO

      setIn(InputStream)

      setOut(PrintStream)

      setErr(PrintStream) 

  • 相关阅读:
    java虚拟机理解探索1
    Java线程面试题 Top 50(转载)
    (转载)浅谈我对DDD领域驱动设计的理解
    最大堆
    利用筛法求质数
    递归算法及优化
    java 根据传入的时间获取当前月的第一天的0点0分0秒和最后一天的23点59分59秒
    Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3
    mysql 子查询问题
    微信7.0以后更新后H5页面定位不准确
  • 原文地址:https://www.cnblogs.com/chang290/p/3548858.html
Copyright © 2011-2022 走看看