Java学习笔记42(序列化流)】的更多相关文章

本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理设备之间的数据传输,对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中 输入/输出流可以从以下几个方面进行分类 从流的方向划分: 输入流.输出流 从流的分工划分: 节点流.处理流 从流的内容划分: 面向字符的流.面向字节的流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对…
序列化 是将对象的完整信息保存起来的过程(持久化).    序列化流:ObjectOutputStream 反序列化 是将对象进行还原的过程(反持久化).               反序列化流:ObjectInputStream 1.序列化 ①一个对象想要被序列化,这个对象对应的类必须实现Serializable.Serializable接口中没有任何的方法和属性,仅仅用于标志这个类产生的对象可以被序列化. ②被static/transient关键字修饰的属性不会被序列化 ③一个类在实现Ser…
对象中的数据,以流的形式,写入到文件中保存 过程称为写出对象,对象的序列化 ObjectOutputStream将对象写到文件中,实现序列化 在文件中,以流的形式,将对象读取出来, 读取对象,对象的反序列化 ObjectInputStream将文件对象读取出来,实现反序列化 示例: 简单写一个类: package demo; import java.io.Serializable; public class Person implements Serializable { private Str…
一.字节数组流 之前使用输入输出流的操作的对象是文件,而这里字节数组流操作的对象是内存,内存可以看做是一个字节数组. 使用字节数组流读写就可以看做是从内存A到内存B的读写,对象时内存即字节数组. 1.1构造方法 ByteArrayOutputStream()//创建一个字符数组输出流 ByteArrayInputStream(byte[] buf)//创建一个字节数组输入流,这里面的buff可看做内存对象即字符数组 2.2主要方法 ByteArrayInputStream: read(byte[…
1.输入流,只能从中读取数据,而不能向其写出数据.输出流,只能想起写入字节数据,而不能从中读取. 2.InputStream的类型有: ByteArrayInputStream 包含一个内存缓冲区,字节从中取出. FileInputStream 从文件中获得字节. ObjectInputStream 用来恢复被序列化的对象. PipedInputStream 管道输入流,读取管道内容.多和PipedOutputStream一起用于多线程通信. SequenceInputStream 是多种输入流…
一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理解为是对基本输入输出流的增强和扩展,但其根本是建立在输入输出流之上的. 1.字节缓冲流 1.1字节缓冲流类 BufferInputStream BufferOutputStream 1.2.构造方法: 传递参数为输入.输出流对象. BufferedInputStream(InputStream in…
一.乱码问题 我们来看下列例子: public class ConStream { //当前平台默认采用GBK public static void main(String[] args){ String str = "依风"; byte[] by = new byte[48]; byte[] bz = new byte[48]; try { by = str.getBytes("UTF-8");//设置编码方式为utf-8,即将依风以utf-8的个数转换为byte…
如果父类没有实现Serializable接口,子类实现了Serializable接口,那么子类是可以序列化的. 但是如果想要反序列化,那么就需要父类支持默认构造函数. 因为在反序列化的过程中不会调用子类的构造函数,而会以不带参数的形式调用父类的构造函数. public class dog { public dog(String n) { name = n; } public dog() { name = ""; } public String name; } import java.i…
朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 总结一下有哪些I/O流: 输入流方法主要是read()和close(),输出流方法主要是write().flush()和close(),下面主要介绍各流的继承关系和构造方法 File 构造方法: 一.字节流 1.InputStream 此抽象类表示字节输入流的所有类的超类 ·FileInputStream FileInputStream 从文件系统中的某个文件中获得输入字节.哪些文件可用取决于主机环境. 构造方法…
朝辞白帝彩云间,千里江陵一日还.两岸猿声啼不尽,轻舟已过万重山. --早发白帝城 我们老师写代码有个特点,就是简洁.每一句的意图都十分明确.所以他讲课的速度也比较快. 跑题了,说说I/O流: 1.字节输入流 2.字符输入流 3.字节输出流 4.字符输出流 上代码: public class FileInputStreamAndFileoutputSteamDemo { public static void main(String[] args) throws IOException { File…