내가 파일에 설정 행의 내용을 인쇄하려고하지만 java.io.NotSerializableException 얻고 경우 : 여기 java.io.NotSerializableException :의 RowSet
내 프로그램을 ..package k564;
import java.io.*;
import javax.sql.RowSet;
import com.sun.rowset.JdbcRowSetImpl;
public class Lab15a {
public static void main(String[] args) {
try{
Class.forName("com.mysql.jdbc.Driver");
RowSet rs= new JdbcRowSetImpl();
rs.setUrl("jdbc:mysql://localhost:3306/jdbc");
rs.setUsername("root");
rs.setPassword("123");
rs.setCommand("select cid,cname,cemail,cphone,camount from customer");
rs.execute();
while(rs.next()){
System.out.println(rs.getInt("cid")+"\t"+rs.getString("cname")+"\t"+rs.getString("cemail")+"\t"+rs.getInt("cphone")+rs.getInt("camount"));
}
rs.beforeFirst();
System.out.println("Serialixzing Rowset");
FileOutputStream fos = new FileOutputStream("d:\\rowset.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(rs);
System.out.println("serialized");
}catch(Exception e){
e.printStackTrace();
}
}
}
내가 받고있는 오류.
오류 : 여기 무엇이 잘못되었는지 알아낼 수 아니다
java.io.NotSerializableException: java.lang.Object
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at k564.Lab15a.main(Lab15a.java:33)
?
당신은 스택 추적을 인쇄 버전 번호를 대표하는의 serialVersionUID를 추가하는 것이 좋습니다, 그것은 무엇을 말하는가? –
개체가 직렬화 가능했다하더라도 원하는 경우 사람이 읽을 수 없습니다. – StephaneM
@TimCastelijns 내가받는 오류를 인쇄했습니다. – User27854