作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将行集的内容打印到文件中,但出现 java.io.NotSerializedException:
这是我的程序..
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)
我不明白这里出了什么问题?
最佳答案
Java 的 ObjectOuputStream
只能序列化实现 java.io.Serialized
接口(interface)的对象。 JdbcRowSet
类未实现此接口(interface)。
要打印内容,请尝试使用 getRow()
、toString()
或类似的方法来实现您的目标。
关于java.io.NotSerializedException : For RowSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267586/
我是一名优秀的程序员,十分优秀!