黑马程序员技术交流社区

标题: 文件的写入与读出 [打印本页]

作者: 公子-醉香    时间: 2013-12-15 13:10
标题: 文件的写入与读出
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.ObjectInputStream;
  6. import java.io.ObjectOutputStream;

  7. public class Serialization1 {
  8.         public static void main(String[] args) throws IOException,ClassNotFoundException{
  9.                 // TODO Auto-generated method stub
  10.                 Employ emp=new Employ(1,"xxx",20,"xxx");
  11.                 File srcFile=new File("serial.text");
  12.                 FileOutputStream fos=new FileOutputStream(srcFile);
  13.                 ObjectOutputStream os=new ObjectOutputStream(fos);
  14.                 FileInputStream fi=new FileInputStream(srcFile);
  15.                 ObjectInputStream si=new ObjectInputStream(fi);
  16.                 System.out.println("开始写入文件,该文件的大小为: "+srcFile.length()+"字节");
  17.                 try{
  18.                         os.writeObject(emp);
  19.                         os.close();
  20.                 }catch(IOException e){
  21.                         System.out.println(e.getMessage());
  22.                 }
  23.                 System.out.println("写入文件完成,该文件大小为:"+srcFile.length()+"字节");
  24.                 emp=null;
  25.                 try{
  26.                         emp=(Employ)si.readObject();
  27.                 }catch(IOException e){
  28.                         System.out.println(e.getMessage());
  29.                 }
  30.                
  31.                 //输出获取到的信息
  32.                 System.out.println("输出文件里的信息:");
  33.                 System.out.println("雇员的ID为:"+emp.id);
  34.                 System.out.println("雇员的name为:"+emp.name);
  35.                 System.out.println("雇员的age为:"+emp.age);
  36.                 System.out.println("雇员的department为:"+emp.department);
  37.         }
  38.         //代码分析:
  39.         /*
  40.          1.在上述代码中主要实现用文件输出流对象os向文件serial写入信息,,然后再通过文件输入流si从文件serial中读取信息并输出
  41.          2.首先创建了与文=文件serial相关的文件输入流fos和文件输出流fi,然后通过ObjectOutputStream和ObjectInputStream类使得
  42.                  输入流os和输出流si分别具有了直接操作对象的功能。
  43.          3.在具体写入文件时,通过os.writeOb()方法直接把雇员对象emp写入文件,在具体读取文件时,
  44.                  通过si.readOb()方法获取Object对象,然后再强转成雇员类型Employ
  45.                  。
  46.          */
  47. }
复制代码



作者: ζ丶凡σ    时间: 2013-12-15 17:58
赞一个..................




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2