Java 将ArrayList写入文件时发生异常
我在用java将Java 将ArrayList写入文件时发生异常,java,Java,我在用java将ArrayList写入文件时遇到问题。下面的程序正在将错误保存到文件中,而不是我试图保存的数据 下面是我正在使用的代码。有人能指出我做错了什么吗 package mytracker; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.List; import javax.swing.JOptionPane
ArrayList
写入文件时遇到问题。下面的程序正在将错误保存到文件中,而不是我试图保存的数据
下面是我正在使用的代码。有人能指出我做错了什么吗
package mytracker;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.List;
import javax.swing.JOptionPane;
public class ExportContacts
{
private ObjectOutputStream OP;
private void openFileOut(String path)
{
try
{
OP = new ObjectOutputStream(new FileOutputStream(path + ".dat"));
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void AddContacts(List<Contact> contacts)
{
try
{
for(int i=0;i<contacts.size();i++)
{
OP.writeObject(contacts.get(i));
}
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void CloseFileOut()
{
try
{
if(OP!=null)
OP.close();
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
public void ExportConacts(String path,List<Contact> contacts)
{
openFileOut(path);
AddContacts(contacts);
CloseFileOut();
}
}
包mytracker;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.ObjectOutputStream;
导入java.util.List;
导入javax.swing.JOptionPane;
公共类导出联系人
{
私有对象输出流;
私有void openFileOut(字符串路径)
{
尝试
{
OP=新的ObjectOutputStream(新的FileOutputStream(路径+“.dat”));
}
捕获(IOE异常)
{
showMessageDialog(null,e.getMessage());
}
}
私人void AddContacts(列出联系人)
{
尝试
{
对于(int i=0;iA.Contact
必须实现Serializable
(您尚未显示Contact
的代码)
B.不要序列化每个联系人
,只序列化整个列表
引发了什么类型的异常
?文件中的错误消息可能有用。我的水晶球说联系人没有实现java.io.Serializable接口。@maurício很可能是,不知道没有该代码或异常/错误消息ge@Omar-欢迎来到stackoverflow。以后,一定要包括错误消息和stacktrace。如果人们不得不猜测,回答你的问题需要更长的时间;)我想你一定有一个非常可靠的水晶球?
private void ExportButtonMouseClicked(java.awt.event.MouseEvent evt)
{
try
{
JFileChooser fileChooser=new JFileChooser();
//fileChooser.setFileFilter(new filter());
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int result=fileChooser.showSaveDialog(this);
if(result!=JFileChooser.CANCEL_OPTION)
{
String path= fileChooser.getSelectedFile().getPath();
ExportContacts ex=new ExportContacts();
//CL is object of the class that save the contacts
List<Contact> c=CL.getContactsList();
ex.ExportConacts(path, c);
JOptionPane.showMessageDialog(null, "Contacts Exported Successfully !");
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
}