• java序列化,二进制和数据流


    类的序列化需要支持Serializable接口,如果类支持序列化,可以通过ObjectOutPutStream和ObjectInputStream将对象和Stream之间进行方便的转换。

    首先来 看一下ObjectOutPutStream和ObjectInputStream的构造函数和常用方法:

    public ObjectOutputStream(OutputStream out) throws IOException :参数是输出流

    public ObjectInputStream(InputStream in) throws IOException:参数是输入流

    ObjectOutputStream.writeObject(Object):将对象序列化并写入到OutputStream中。

    ObjectInputStream.readObject():将InputStream读出对象,这里可能需要强制转换。

    **OutPutStream:首先代表这是个输出流,前面的**代表该输出流中存放的数据类型,可以是ByteArray,也可以是file,也可以是Data(代表java中的类对象)。

    **InPutStream:首先是一个输入流,前面的**代表输入流从那种类型读取数据,可以是ByteArray,代表将数据读出到字节数组中。可以是Data,表示将数据读成Java中的类对象。

    字节流包含两个顶层抽象类:InputStreamOutputStream

    1:字节流的两个顶层类是抽象类,分别是:InputStreamOutputStream

    2:每个抽象类都有子类来实现具体的功能,处理不同的设备的输入和输  出。

    下面简单介绍字节流的几个常用子类:::

    字节流类

    功能简单介绍

    DataInputStream

    包含了读取Java标准数据类型的输入流

    DataOutputStream

    包含了写Java标准数据类型的输出流

    ByteArrayInputStream

    从字节数组读取的输入流

    ByteArrayOutputStream

    写入字节数组的输出流

    FileInputStream

    从文件读入的输入流

    FileOutputStream

    写入文件的输出流

    PrintStream

    包含最常见的Print()和Println()的输出流

    PushbackInputStream

    返回一个字节到输入流,主要用于编译器的实现

    PipedInputStream

    输出管道

    PipedOutputStream

    输入管道

    SequenceInputStream

    将n个输入流联合起来,一个接一个按一定顺序读取

    RandomAccessFile

    随机访问文件

    BufferInputStream

    缓冲输入流

    BufferOutputStream

    缓冲输出流

    FilterInputStream

    实现了InputStream Interface

    FilterOutputStream

    实现了OutputStream Interface

    InputStream

    抽象类,描述流的输入

    OutputStream

    抽象类,描述流的输入

    抽象类InputStream和OutpurStream定义了实用的方法,其中最主要的是read()和

    write()。这两个方法在InputStreamOutputStream中声明为抽象方法,由子流类overwrite实现。

    2:每个抽象类都有子类来实现具体的功能,处理不同的设备的输入和输  出。

    下面简单介绍字节流的几个常用子类:::

    字节流类

    功能简单介绍

    DataInputStream

    包含了读取Java标准数据类型的输入流

    DataOutputStream

    包含了写Java标准数据类型的输出流

    ByteArrayInputStream

    从字节数组读取的输入流

    ByteArrayOutputStream

    写入字节数组的输出流

    FileInputStream

    从文件读入的输入流

    FileOutputStream

    写入文件的输出流

    PrintStream

    包含最常见的Print()和Println()的输出流

    PushbackInputStream

    返回一个字节到输入流,主要用于编译器的实现

    PipedInputStream

    输出管道

    PipedOutputStream

    输入管道

    SequenceInputStream

    将n个输入流联合起来,一个接一个按一定顺序读取

    RandomAccessFile

    随机访问文件

    BufferInputStream

    缓冲输入流

    BufferOutputStream

    缓冲输出流

    FilterInputStream

    实现了InputStream Interface

    FilterOutputStream

    实现了OutputStream Interface

    InputStream

    抽象类,描述流的输入

    OutputStream

    抽象类,描述流的输入

    抽象类InputStream和OutpurStream定义了实用的方法,其中最主要的是read()和

    write()。这两个方法在InputStreamOutputStream中声明为抽象方法,由子流类overwrite实现。

    在网络传输的过程中,是通过socket.getInputStream()和getOutPutStream()来进行。

  • 相关阅读:
    encodeURIComponent与encodeURI的区别
    css实现强制不换行/自动换行/强制换行
    浏览器的visibilitychange 事件ie10以下不兼容
    判断IE版本的语句 [if lte IE 6]...[endif]
    jQueryr .on方法解析
    js判断IE6(推荐方法一)
    JS判断设备终端(PC,iPad,iPhone,android,winPhone)和浏览器
    js判断手机浏览器
    js数字格式化-四舍五入精简版
    jQuery scroll(滚动)延迟加载
  • 原文地址:https://www.cnblogs.com/lxzh/p/3925031.html
Copyright © 2020-2023  润新知