<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-28  評論-51  文章-10  trackbacks-0
    Test.java   解決多次寫的時候,往往重復寫入header,導致讀出時,出現streamcorrput異常,所以這里要判斷是不是第一次寫文件,若是寫入頭部,否則不寫入
    這是通過重載
    writeStreamHeader來實現的


    1
     package file;
     2 import java.io.EOFException;
     3 import java.io.File;
     4 import java.io.FileInputStream;
     5 import java.io.FileNotFoundException;
     6 import java.io.FileOutputStream;
     7 import java.io.ObjectInputStream;
     8 import java.io.ObjectOutputStream;
     9 import java.io.Serializable;
    10 import java.io.StreamCorruptedException;
    11 import java.util.LinkedList;
    12 public class Test {
    13 
    14     private static LinkedList al = new LinkedList();
    15     public static void main(String[] args) {
    16         // TODO Auto-generated method stub
    17         System.out.println("welcome!!");
    18         try {
    19             File file = new File("input.txt");
    20             FileOutputStream out = new FileOutputStream(file,true);
    21             ObjectOutputStream oo=null;
    22             if(file.length()<1)
    23             {
    24                 oo = new ObjectOutputStream(out);
    25             }
    26             else
    27             {
    28                 oo = new MyObjectOutputStream(out);
    29             }
    30         
    31             int i = 0;
    32             Node n;
    33             while(i++<6)
    34                 {
    35                     n = new Node();
    36                     n.name = "kyle"+i;
    37                     oo.writeObject(n);
    38                 }
    39             oo.flush();
    40             oo.close();
    41             FileInputStream in = new FileInputStream("input.txt");
    42             ObjectInputStream oi = new ObjectInputStream(in);
    43              i = 0;
    44             
    45             while(true)
    46             {
    47                 System.out.println(i++);
    48                 al.add((Node)oi.readObject());
    49             }
    50 
    51         }
    52         catch(EOFException es)
    53         {
    54             return;
    55         }
    56         catch (Exception e) {
    57             // TODO Auto-generated catch block
    58             e.printStackTrace();
    59 
    60         }
    61     }
    62 }
    63 class Node implements Serializable
    64 {
    65     public Node()
    66     {
    67         name = name+ i++;
    68     }
    69     public  String name;
    70     private static int i = 0;
    71     public String toString()
    72     {
    73         return name;
    74     }
    75 }
    76 
    77 
    78 
    79 
    80 
    81 

    MyObjectOutputStream.java
     1 package test;
     2 
     3 import java.io.IOException;
     4 import java.io.ObjectOutputStream;
     5 import java.io.OutputStream;
     6 
     7 public class MyObjectOutputStream extends ObjectOutputStream {
     8 
     9     
    10     private static boolean flag = true;//判斷是否為第一次寫入文件
    11     private static boolean one = true;
    12 
    13     public MyObjectOutputStream() throws IOException, SecurityException {
    14         // TODO Auto-generated constructor stub
    24     }
    25 
    26     public MyObjectOutputStream(OutputStream out) throws IOException {
    27         super(out);
    28         // TODO Auto-generated constructor stub
    29     }
    30     protected void writeStreamHeader()
    31     throws IOException
    32     {
    33         return//不寫入頭部
    34     }
    35 
    36 }
    37 





    posted on 2008-04-03 00:43 fullfocus 閱讀(1685) 評論(2)  編輯  收藏 所屬分類: JAVA/J2EE

    評論:
    # re: ObjectOutputStream的多次讀寫問題[主要是writeStreamHeader] 2008-12-11 12:19 | kpzxc
    riruyg6  回復  更多評論
      
    # re: ObjectOutputStream的多次讀寫問題[主要是writeStreamHeader] 2009-11-17 11:41 | yunghe
    非常感謝,本文解決了我的大問題。  回復  更多評論
      
    主站蜘蛛池模板: 亚洲熟妇AV一区二区三区宅男| 亚洲av成人无码久久精品| 亚洲色大成网站www永久男同| 久草视频免费在线| 亚洲国产精品张柏芝在线观看| 99热这里只有精品免费播放| 亚洲精品资源在线| 无人在线观看完整免费版视频| 亚洲午夜电影在线观看高清 | 99久久99热精品免费观看国产| 亚洲日韩精品一区二区三区 | 一级毛片不卡免费看老司机| 亚洲中文无韩国r级电影| 插鸡网站在线播放免费观看| 国产亚洲精AA在线观看SEE| 久久黄色免费网站| 亚洲H在线播放在线观看H| 最新69国产成人精品免费视频动漫 | 日本高清免费网站| 亚洲AV无码成人网站在线观看| 日本一区免费电影| 中国一级毛片视频免费看| 无码乱人伦一区二区亚洲| 免费成人福利视频| 香蕉视频亚洲一级| 亚洲夜夜欢A∨一区二区三区| 无码人妻久久一区二区三区免费 | 91av视频免费在线观看| 亚洲人成网站色在线观看| 日美韩电影免费看| 你懂得的在线观看免费视频| 亚洲成人黄色网址| 免费二级毛片免费完整视频| 久久免费视频网站| 亚洲天堂2016| 国精无码欧精品亚洲一区| 一个人看www在线高清免费看| 一本岛v免费不卡一二三区| 亚洲专区在线视频| 亚洲A∨精品一区二区三区| 污视频在线免费观看|