• 网络传输时既有管道流(PipedInputStream 与 PipedOutStream)又有序列化对象、反序列化对象(ObjectOutputStream与 ObjectInputStream),还有在集合中、流中都有的身影的Properties究竟是何方神物?我们该怎么选择呢?


    网络传输时既有管道流(PipedInputStream 与 PipedOutStream)又有序列化对象、反序列化对象(ObjectOutputStream与 ObjectInputStream),还有在集合中、流中都有的身影的Properties究竟是何方神物?我们该怎么选择呢?

    ▪管道流:多线程之间的流的读与写----字节层面上  [学多线程时的浪漫相遇管道流---传输字节流]

    class PipedInputStream extends InputStream

    管道输入流应连接到管道输出流; 管道输入流然后提供写入管道输出流的任何数据字节。 典型地,数据被从一个读PipedInputStream对象由一个线程并且数据被写入到对应的PipedOutputStream通过一些其它线程。 不建议尝试从单个线程使用这两个对象,因为它可能会使线程死锁。 管道输入流包含一个缓冲区,在读取操作中将读取操作与限制内的操作相分离的管道被认为是broken如果正在提供的数据字节到连接的管道输出流中的线程不再存活。

    ▪序列化、反序列化对象 [学IO流时的浪漫相遇序列化、反序列化对象---传输对象流]

    Class ObjectInputStream  extends InputStream implements ObjectInput, ObjectStreamConstants : 将字节传输转化成对象传输

    ▪反序列化对象:ObjectInputStream用于恢复先前序列化的对象。 其他用途包括使用套接字流在主机之间传递对象,或者在远程通信系统中进行封送和解组参数

    属性集合:Properties [学集合时的浪漫相遇Properties知其结构继承hashtable,设置构造方法规定了键值对为字符串类型;

    学IO流时的浪漫相遇Properties想起来其内部还有两个超级棒的方法save(流对象)、load(流对象)-----方便使用流的操作]

    class Properties extends Hashtable

    结构上继承:集合Hastable 【键值对的形式存取结构,且设置通过构造方法设置属性名(key)、属性值(value)都为字符串类型】

    String getProperty(String key) 通过属性列表中指定的键获取属性。

    构造方法:
    
    public synchronized Object setProperty(String key, String value) {
    
            return put(key, value);
    
        }

    内部定义了与流有关的方法:load()、save() 方法

    load(InputStream inStream)、load(Reader reader)、save(OutputStream out, String comments)

    总结:Properties属性集合:特点1:结构上继承了Hashtable的键值对结构,通过设置构造方法的设置规定,

    得到特点2:键值对都是字符串类型,即属性名、属性值都是字符串类型

    特点3:内部定义了方法:save(流对象)、load(流对象),所以与流操作有关

    特点4:没有泛型

  • 相关阅读:
    git学习(一)
    访问注解(annotation)的几种常见方法
    对于元数据的理解
    常用注解介绍
    深入理解Java的接口和抽象类
    POI依据类型设置导出格式
    java泛型
    java 向上转型和向下转型
    cell设置背景颜色为啥不起作用
    Java反射获取对象VO的属性值(通过Getter方法)
  • 原文地址:https://www.cnblogs.com/shan333/p/14913677.html
Copyright © 2020-2023  润新知