zoukankan      html  css  js  c++  java
  • java io 学习笔记(一) 字节流

    java中将数据读写抽象成流,像水流一样,从而可以方便地扩展。其中重要的几个类:

    ①抽象类InputStream, OutputStream,它们是原始抽象类。其中InputStream的方法包括read() 从流中读取数据; skip() 跳过一定的字节; available() 返回可用的字节数; mark() 标记一个位置; reset() 返回上一个标记位; marksupport() 是否支持标记复位; close() 关闭流。 其中read() 可以逐字节读,也可加入缓存数组从而更高效地读取。OutputStream的方法包括 write(), 参数类似于read(); flush() 刷空此流; close() 关闭流。

    ②FileInputStream FileOutputStream 它们用于读写顺序文件。 其中FileInputSteam 打开输入文件, 需要捕获一个FileNotFoundException。FileOutputSteam 打开只读文件时有IOException。

    ③随机访问文件类 RandomAccessFile ,它比较特殊,直接继承自Object类,并且实现了接口DataInput 和 DataOutput ,可以成组地读取字节。方法有Read[数据类型]() , Write[数据类型](), ReadLine(), SkipBytes), length,getFilePointer(),seek等。

    ④过滤字节流。FilterInput/OutputStream, 可以对其他缓冲流数据流进行处理。

    一类是带缓冲的:BufferedInput/OutputStream, 可以把任意IO流捆绑在其上,提高效率;

    另一类是数据过滤:DataInputStream ,它是顺序的数据流。

    ⑤管道流,必须输入和输出并用,作用是在两个线程之间实现数据传输。

    顺序是 管道输出流 ---> 管道pipe ---> 管道输入流

    连接方法两种:1 PipedInputStream(PipedOutputStream pos) 或反过来,io其中一个连接了即可。

           2 connect(PipedOutputStream pos)

    ⑥内存读写流,ByteArrayInputStream ByteArrayOutputStream

    ⑦序列输入流 将几个输入流顺序连接在一起

  • 相关阅读:
    Introduce myself
    二叉搜索树的后序遍历序列(剑指offer-23)
    从上到下打印二叉树(剑指offer-22)
    二叉树的深度(剑指offer-38)
    不用加减乘除做加法(剑指offer-48)
    栈的压入、弹出序列(剑指offer-21)
    Java容器
    包含min函数的栈(剑指offer-20)
    在Docker中创建Mongodb数据库
    词向量聚类实验
  • 原文地址:https://www.cnblogs.com/jason31/p/9632805.html
Copyright © 2011-2022 走看看