Java 持久化操作之 --io流与序列化
2018-04-06 20:14
459 查看
1)File类操作文件的属性
1.File类的常用方法
package text; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class TextStudent { @SuppressWarnings("unchecked") public static void main(String[] args) { //创建序列化对象 ObjectOutputStream xl=null; //创建反序列化对象 ObjectInputStream xl1=null; //初始化要序列化的对象 Map<String,Student> map=new HashMap<String,Student>(); Map<String,Student> map1=new HashMap<String,Student>(); Student stu=new Student("小明",18,"男"); Student stu1=new Student("小红",18,"女"); map.put(stu.getName(), stu); map.put(stu1.getName(), stu1); try { xl=new ObjectOutputStream(new FileOutputStream("D://TextFile//xuliehua.bin")); xl1=new ObjectInputStream(new FileInputStream("D://TextFile//xuliehua.bin")); xl.writeObject(map); System.out.println("写入成功"); //反序列化文件输出到控制台 map1=(Map<String,Student>)xl1.readObject(); Set<String> key=map1.keySet(); Iterator<String> l=key.iterator(); while(l.hasNext()) { String keys=l.next(); map1.get(keys).show(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if(xl!=null){ try { xl.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(xl1!=null) { try { xl1.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }测试类 提示:如果不希望Student类某一属性被序列化可使用 transient 修饰
biu ~biu ~ biu ~
注:最后在提一句:使用序列化操作时,一定要将准备序列化的类或数据声明为可序列化操作!!!!
相关文章推荐
- Java基础(15):IO流—掌握对象序列化和反序列化操作
- JAVA基础 day23 IO流的其他类 (对象的序列化 管道流 RandomAccessFile类(随机读取文件) DateStream(操作基本数据类型的流) 操作数组的流 )字符编码问题
- Java基础之对象的序列化(持久化)操作对象ObjectInputStream/ObjectOutputStream
- 文章标题 Java中io流的一些简单操作(包含文件复制,向硬盘中写入文本文件,以及io流高级应用序列化和反序列化)
- Java IO流——序列化的基本操作
- Java---IO流序列化
- JAVA基础再回首(二十三)——操作基本数据类型的流、内存操作流、打印流、随机访问流、合并流、序列化流
- Java基础知识强化之IO流笔记57:数据输入输出流(操作基本数据类型)
- 关于java基础--PIO操作xls文件、持久化对象以及拷贝文件
- java学习之 io流的基本操作(1)
- java中IO流中的对象操作流
- java IO流之-----字节流的操作
- Java的IO流的操作和一些理解
- Java中IO流之序列化和反序列化
- JAVA学习第五十六课 — IO流(十)对象的序列化和反序列化 & RandomAccessFile
- java基础之IO流--ObjectOutputStream(专门用于操作对象)
- Java基础与案例开发详解のJava IO流操作
- Java的IO流操作
- Java基础之IO流,通过字节流对媒体文件进行复制操作
- Java中IO流操作文件总结