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


----------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值