0
在打印文件的第一個記錄之後發生此錯誤-java.io.StreamCorruptedException:無效的類型代碼:AC 我正在寫入對象到文件用下面的代碼和讀取所有的對象放入文件在Java中讀取對象錯誤java.io.StreamCorruptedException:無效的類型代碼:AC
演示代碼
import java.io.*;
import java.util.*;
class Student implements Serializable
{
int no;
String nm;
void set(int no,String nm)
{
this.no=no;
this.nm=nm;
}
void get()
{
System.out.println(no+"--"+nm);
}
}
class write
{
public static void main(String[] args)
{
try
{
int no;
String s;
ObjectOutputStream oi=new ObjectOutputStream(new FileOutputStream("d:\\abc1.txt",true));
Scanner sc=new Scanner(System.in);
System.out.print("Enter Roll No:");
no=sc.nextInt();
System.out.print("Enter Name:");
sc.nextLine();
s=sc.nextLine();
Student s1=new Student();
s1.set(no,s);
oi.writeObject(s1);
oi.close();
Student sp;
ObjectInputStream ooi=new ObjectInputStream(new FileInputStream("d:\\abc1.txt"));
while((sp=(Student)ooi.readObject())!=null)
{
sp.get();
}
ooi.close();
}
catch (Exception ex)
{
System.out.println(ex);
}
}
}
請幫我看所有的對象到文件中。
我認爲你的問題是因爲你在做sc.nextLine()兩次。第二個我認爲會在您按回車時創建的新行中讀取。所以你需要刪除上面的s = sc.nextLine()。 –