五、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. c++中一个多态的实例

    #include <iostream> #include <fstream> #include <vector> #include <algorithm> ...

  2. Spring 使用 feign时设置header信息

    最近使用 SpringBoot 项目,把一些 http 请求转为 使用 feign方式.但是遇到一个问题:个别请求是要设置header的. 于是,查看官方文档和博客,大致推荐两种方式.也可能是我没看明 ...

  3. linux学习:sed与awk与tr用法整理

    流编辑器:sed 语法:sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数: -e<script>或--expression ...

  4. crawlspider

    Scrapy中CrawSpider 回头看: 之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址或者是内容的url地址上面,这个过程能更简单一些么? 思路: 1. 从re ...

  5. python +ps 三方面库整理

    -------------------------------------------端口进程相关------------------------------------------------cp ...

  6. java线程的学习

    接口 Runable 属性:target 方法:void run() 类 Thread 方法:void start()用来启动一个线程 void run() 线程启动后执行的方法 Sting getN ...

  7. popwindow+动画

    布局: main: <Button android:id="@+id/btn" android:layout_width="match_parent" a ...

  8. export和export default

    在  vue中 export  变量名不能识别,只能export default 变量,import 随便取名,不需要{}

  9. 小甲鱼零基础python课后题 P22 021函数:递归是神马

    0.递归在编程上的形式是如何表现的呢? 答:在编程上,递归表现为函数调用本身这么一个行为. 1.递归必须满足哪两个基本条件? 答:1函数调用自己. 2有正确的返回条件 2.思考一下,按照递归的特性,在 ...

  10. Windows 安装JDK

    Windows 安装JDK jdk为java开发工具,jre为java运行环境,安装一个jdk版本会把两个一起装 步骤: 1.在官网下载jdk:http://www.oracle.com/techne ...