zoukankan      html  css  js  c++  java
  • java学习笔记(6)——序列化

    一、序列化与基本类型序列化
    1,将类型int转换为4byte,或将其它数据类型(如long->8byte)的过程,
    即将数据转换为n个byte序列叫序列化(数据->n byte)
    如:0x7fffffff  -> [7f, ff, ff, ff]
    2,反序列化,将n byte转换为一个数据的过程(n byte->数据)
    如:[7f, ff, ff, ff]  ->  0x7fffffff
    3,RandomAccessFile 提供基本类型的读写方法,可以将基本类型数据序列化到文件
    或者将文件内容序列化为数据
    ----------------------------------------------------------------------
    package pack02;


    import java.io.*;


    import com.sun.imageio.spi.RAFImageInputStreamSpi;
    public class Demo {
    public static void main(String[] args){
    //创建目录demo
    File demo = new File("demo");
    if(!demo.exists()){
    demo.mkdir();
    }
    //在demo文件夹中创建raf.dat
    File file = new File(demo,"raf.dat");
    System.out.println(file);
    if(!file.exists()){
    try {
    file.createNewFile();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    //打开这个文件进行随机读写
    try {
    RandomAccessFile raf = new RandomAccessFile(file,"rw");
    //序列化
    int i = 0x7fffffff;
    raf.write(i>>>24);
    raf.write(i>>>16);
    raf.write(i>>>8);
    raf.write(i);
    System.out.println(raf.getFilePointer());

    raf.seek(0);
    int b = raf.read();
    i = i|(b<<24);
    b = raf.read();
    i = i|(b<<16);
    b = raf.read();
    i = i|(b<<8);
    b = raf.read();
    i = i|b;
    System.out.println(Integer.toHexString(i));
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }


    ----------------------------------------------------------------------
  • 相关阅读:
    python-study-08
    第一周代码整理
    python-study-阶段总结
    python-study-07
    二分查找数组中与目标数字(可以是浮点型)最近的数的位置
    寻找最大数
    零件分组(stick)
    走迷宫
    自然数的拆分问题 字典序
    素数环(回溯)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469957.html
Copyright © 2011-2022 走看看