五、Java序列化

  概述

    Java序列化是指把Java对象转换为字节序列的过程
    Java反序列化是指把字节序列恢复为Java对象的过程
    当两个Java进程进行通信时,发送方需要把这个Java对象转换为字节序列,然后在网络上传送;另一方面,接收方需要从字节序列中恢复出Java对象

  Java序列化API

    ObjectOutputStream:表示对象输出流
    writeObject(Object obj)方法可以对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。
    ObjectInputStream:表示对象输入流
    readObject()方法源输入流中读取字节序列,再把它们反序列化成为一个对象,并将其返回。

  Java对象序列化要求

    假定一个Person类,它的对象需要序列化
    只有实现了Serializable或Externalizable接口的类的对象才能被序列化,否则抛出异常
    注意事项
      若Person类仅仅实现了Serializable接口,则可以按照以下方式进行序列化和反序列化
      ObjectOutputStream采用默认的序列化方式,对Person对象的非transient的实例变量进行序列化。
      ObjcetInputStream采用默认的反序列化方式,对Person对象的非transient的实例变量进行反序列化。

六、内存操作流

  操作字节数组

    ByteArrayInputStream
    ByteArrayOutputStream

  操作字符数组

    CharArrayReader
    CharArrayWrite

  操作字符串

    StringReader
    StringWriter

  内存操作流一般用于处理临时信息,因为临时信息不需要保存,使用后就可以删除

七、标准输入输出流

    System类中的字段:in,out。
    它们各代表了系统标准的输入和输出设备。
    默认输入设备是键盘,输出设备是显示器。
    System.in的类型是InputStream.
    System.out的类型是PrintStream是OutputStream的子类FilterOutputStream 的子类.

八、Properties集合

  概述

    Properties作为Map集合的使用

  Properties的特殊功能

    public Object setProperty(String key,String value)
    public String getProperty(String key)
    public Set<String> stringPropertyNames()

  Properties和IO流的结合使用

    public void load(Reader reader)
    public void store(Writer writer,String comments)

IO流(三)的更多相关文章

  1. IO流(三)__字节流 标准输入输出流 转换流

    一.字节流:FileInputStream 和FileOutputStream 基本操作和字符流类相同,没有flush,但是close还是要的 复制一个字节流文件 private static voi ...

  2. Java学习之路(十二):IO流<三>

    复习:序列流 序列流可以把多个字节输入整合成一个,从序列流中读取到数据时,将从被整合的第一个流开始读取,读完这个后,然后开始读取第二个流,依次向后推. 详细见上一篇文章 ByteArrayOutput ...

  3. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  4. Java中的IO流(三)

    上一篇<Java中的IO流(二)>把学习Java的字符流以及转换流作了一下记录,从本篇开始将把IO流中对文件或文件夹操作的对象File类的学习进行一下记录. 一,File类的构造函数及字段 ...

  5. Java IO流详解(三)——字节流InputStream和OutPutStream

    我们都知道在计算机中,无论是文本.图片.音频还是视频,所有的文件都是以二进制(字节)形式存在的,IO流中针对字节的输入输出提供了一系列的流,统称为字节流.字节流是程序中最常用的流.在JDK中,提供了两 ...

  6. java基础(二十)IO流(三)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  7. J03-Java IO流总结三 《 FileInputStream和FileOutputStream 》

    1. FileInputStream    FileInputStream是一个文件输入节点流,它是一个字节流,它的作用是将磁盘文件的内容读取到内存中. FileInputStream的父类是Inpu ...

  8. Java第三阶段学习(二、IO流--------递归,字节流Stream)

    一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...

  9. IO流学习之字符流(三)

    IO流之字符流缓冲区: 概念: 流中的缓冲区:是先把程序需要操作的数据保存在内存中,然后我们的程序读写数据的时候,不直接和持久设备之间交互,而改成和内存中的数据进行交互. 缓冲区:它就是临时存储数据, ...

随机推荐

  1. jQuery 获取不到 kindeditor 内容 的解决方法

    错误写法 :  var content = $('#Content').val(); 正确写法: var content = $(document.getElementsByTagName(" ...

  2. HTML入门9

    这一篇着眼于HTML里的音频和视频标签及相关处理: 传统技术不能再web中使用音频和视频,一致使用Flash后来因为一些HTML/CSS特性,安全问题,慢慢退出.在HTML5提出后,新特性<vi ...

  3. (97)Wangdao.com_第三十天_触摸事件

    触摸事件 只有触摸屏才会引发这一类事件 触摸事件 和 鼠标事件 同时触发,即使这个时候并没有用到鼠标. 这是为了让那些只定义鼠标事件.没有定义触摸事件的代码,在触摸屏的情况下仍然能用. 如果想避免这种 ...

  4. ActiveMQ的安装与使用(单节点)

    1. 安装 JDK 并配置环境变量(略) JAVA_HOME=/usr/local/java/jdk1.7.0_72 2. 下载 Linux 版的 ActiveMQ $ wget http://apa ...

  5. js 设计模式之观察者模式

    观察者模式 又被称为“发布-订阅”模式,目的是解决主题对象和观察者之间功能的耦合性.发布者和订阅者之间是互不干扰的,没有联系的,通过观察者,当做中介,将二者联系起来. 例子:以学生和老师之间的为例 1 ...

  6. 图片上传 new FormData() ,new FileReader()

    多图片和单图片取决于 multiple属性,下面来介绍下 new FileReader() reader.readAsDataUrl(file[0]) 可以看到文件是Base64的, let fd = ...

  7. 如何设置 jenkins 任务执行的历史记录在左侧显示的格式?

    java -jar I:\CDC\jenkins\jenkins-cli.jar -s http://$ENV:MasterHost.us.oracle.com set-build-display-n ...

  8. io 口方向调整 stm32

    zonggo//IO方向设置 CRL为0-7 CRH为 8-15 总共四个寄存器位置有效#define DS18B20_IO_IN() {GPIOB->CRH&=0X0FFFFFFF;G ...

  9. CGI的工作原理

    文章摘自https://blog.csdn.net/nyist327/article/details/41049699 CGI是Web服务器和外部程序之间的一个接口.利用CGI程序可以处理从Web上客 ...

  10. Django数据库,在原有表中添加新字段

    1.在你要添加新字段的app的 models.py 文件中添加需要新增的字段(这里新增的是dress字段): from django.db import models # Create your mo ...