public class Demo1 {
public static void main(String[] args) throws IOException {
File fl = new File("test.txt");
FileOutputStream fm = new FileOutputStream(fl,true);
ObjectOutputStream kl = new ObjectOutputStream(fm);
kl.writeInt(11);
String str ="我爱你刘宋和";
kl.writeBytes(str);
kl.flush();
kl.close();
FileInputStream fk = new FileInputStream(fl);
ObjectInputStream ob = new ObjectInputStream(fk);
while(fk.read() != -1){
String m = ob.readUTF();
Integer in = ob.readInt();
System.out.println(m);
System.out.println(in);
}
}
}

解决方案 »

  1.   

    Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: CED2B0AE
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    at java.io.ObjectInputStream.<init>(Unknown Source)
    at Demo.Demo1.main(Demo1.java:23)
      

  2.   


    package com.ibm.dietime1943.test;import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;public class Demo1 {
    private static ObjectInputStream ob; public static void main(String[] args) throws IOException {
    File fl = new File("C:\\temp\\test.txt");
    FileOutputStream fm = new FileOutputStream(fl, true);
    ObjectOutputStream kl = new ObjectOutputStream(fm);
    kl.writeInt(11);
    String str = "我爱你刘宋和";
    kl.writeBytes(str);

    FileInputStream fk = new FileInputStream(fl);
    ob = new ObjectInputStream(fk);
    while (fk.read() != -1) {
    String m = ob.readUTF();
    Integer in = ob.readInt();
    System.out.println(m);
    System.out.println(in);
    } kl.flush();
    kl.close();
    }
    }运行没有错误
      

  3.   


    File fl = new File("d:/test.txt");
    FileOutputStream fm = new FileOutputStream(fl);
    ObjectOutputStream kl = new ObjectOutputStream(fm);
    kl.writeInt(11);
    String str = "测试测试测试";
    kl.writeUTF(str);
    kl.flush();
    kl.close();
    FileInputStream fk = new FileInputStream("d:/test.txt");
    ObjectInputStream ob = new ObjectInputStream(fk);
    Integer in = ob.readInt();
    String m = ob.readUTF();
    ob.close();
    System.out.println(m);
    System.out.println(in);
      

  4.   

    Input要对应Input
      

  5.   

    你把那个txt文件里面的东西清空
      

  6.   

    我这eclipse 报错    你那控制台也没打印出 写进去的内容
      

  7.   

    很简单的问题,ObjectInputStream与ObjectOutputStream类所读写的对象必须实现Serializable接口,对象中的transient和static类型成员变量不会被读取和写入
      

  8.   

    为什么不用FileReader 和FileWriter?
      

  9.   

    ObjectInputStream与ObjectOutputStream是用来操作序列化对象用的.建议使用File相关的IO如果需要操作文件