0
我在寫一個ArrayList
到java中的File
時遇到問題。下面的程序是將錯誤保存到文件中,而不是我試圖保存的數據。將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();
}
}
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());
}
}
什麼類型'Exception'被拋出? – twain249 2012-04-03 17:13:09
文件中的錯誤消息可能很有用。 – ewanm89 2012-04-03 17:14:33
我的水晶球說** Contact **沒有實現** java.io.Serializable **接口。 – 2012-04-03 17:14:48