一、序列化与基本类型序列化

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

}

}

}





----------------------------------------------------------------------

java学习笔记(6)——序列化的更多相关文章

  1. 【java学习笔记】序列化、反序列化

    序列化 是将对象的完整信息保存起来的过程(持久化).    序列化流:ObjectOutputStream 反序列化 是将对象进行还原的过程(反持久化).               反序列化流:Ob ...

  2. java学习笔记_序列化

    如果父类没有实现Serializable接口,子类实现了Serializable接口,那么子类是可以序列化的. 但是如果想要反序列化,那么就需要父类支持默认构造函数. 因为在反序列化的过程中不会调用子 ...

  3. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  4. java学习笔记10--枚举

    java学习笔记10--枚举 在JDK1.5之前,java可以有两种方式定义新类型:类和接口.对于大部分面向对 象编程来说,这两种方法看起来似乎足够了,但是在一些特殊情况下,这些方法就不适合.例如,想 ...

  5. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  6. java学习笔记10--泛型总结

    java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5-- ...

  7. Java学习笔记【一、环境搭建】

    今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...

  8. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  9. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  10. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

随机推荐

  1. [TypeScript] Interface and Class

    When to use Interface and when to use Class. Let's see one example: export interface Lesson { course ...

  2. css聊天气泡样式

    https://files.cnblogs.com/files/zonglonglong/%E8%81%8A%E5%A4%A9%E6%B0%94%E6%B3%A1.zip

  3. C# 二分法查找和排序

    using System;using System.Collections.Generic;using System.Text; namespace AAA{    public class Dich ...

  4. android,安卓get请求的提交以及我遇到的异常

    首先说明 我是安卓4.0以上的版本,这个时候直接用网上的代码会报错的,先赋上网上的普遍代码 String uri = "http://url"; HttpGet httpGet = ...

  5. ArcEngine开发之Command控件使用篇

    转自原文 ArcEngine开发之Command控件使用篇 在ArcEngine类库中有大量的Command控件用来与地图控件进行操作和交互.比如有一系列的地图浏览控件.地图查询控件.图斑选取控件.编 ...

  6. [Jenkins] Creating Application builds

    After installing the jenkins, we start creating new job. 1. Give job names (your project name): 2. G ...

  7. erlang一些参考资源

    1. erlang非业余研究 http://blog.yufeng.info/ 2.code.wang http://www.cnblogs.com/codew/ 3.码农生涯 http://www. ...

  8. [React] Recompose: Override Styles & Elements Types in React

    When we move from CSS to defining styles inside components we lose the ability to override styles wi ...

  9. 解决Request method 'GET' not supported问题

    博主最近遇到了这个问题,解决情况如下 第一种情况:前台页面的表单在一些情况下没有指定POST方法: Ajax没有指定POST方法: 后台方法在一定情况下需要指定POST方法: 第二种情况:前端参数类型 ...

  10. 【物理】概念的理解 —— Phase(相位)

    Phase is the position of a point in time (an instant) on a waveform cycle. 相位指的是波形周期中点在某一时刻的位置.Phase ...