有没有办法在调试时将对象复制到文件中,以便以后可以使用它进行测试?我在eclipse上使用java.具体而言,我匆匆复制请求对象以进行仲裁
如果对象的类(或其任何超类)实现接口java.io.Serilizable,则可以轻松地序列化此对象并将其存储在文件中.假设你有一个对象:
MyClass myObj = new MyClass();
Run Code Online (Sandbox Code Playgroud)
只需打开Eclipse中的"显示"视图(窗口 - >显示视图 - >其他... - >调试/显示)并键入:
java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(new java.io.FileOutputStream("/path/to/your/file"));
oos.writeObject(myObj);
oos.close();
Run Code Online (Sandbox Code Playgroud)
选择此代码并按Ctrl + i - Eclipse将执行代码,因此myObj将存储在文件中(在本例中为"/ path/to/your/file").在Display视图中使用java.io包中的类的规范名称,因为此类包可能未在类当前正在执行的类中导入.
稍后,您可以恢复此对象(例如,在测试类中):
import java.io.*;
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("/path/to/your/file"));
MyClass myObj = (MyClass) ois.readObject();
ois.close();
Run Code Online (Sandbox Code Playgroud)
当然,您应该将它包装在通常的try/catch/finally内容中,以避免重新泄漏.
不幸的是,如果MyClass没有实现java.io.Serializable接口,这将不起作用.
| 归档时间: |
|
| 查看次数: |
4120 次 |
| 最近记录: |