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();
    }
    }
    }


    ----------------------------------------------------------------------
  • 相关阅读:
    005 字符串
    004 变量
    003 python中的内置函数
    002 如何在一台PC上装两个版本的python
    在github上创建新的分支(包括管理分支)
    使用git工具上传自己的程序到github上
    004 Java的一次面试题,学长列举
    为什么分布式一定要有Redis?
    027 ResourceBundle.getBundle方法
    Jenkins下载安装
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469957.html
Copyright © 2011-2022 走看看