在Java中序列化并保存double[]的ArrayList
我想序列化并保存一个arraylist,该arraylist在java中包含一个双[]arraylist。这是我的密码在Java中序列化并保存double[]的ArrayList,java,serialization,arraylist,io,save,Java,Serialization,Arraylist,Io,Save,我想序列化并保存一个arraylist,该arraylist在java中包含一个双[]arraylist。这是我的密码 FileOutputStream fileOutputStream = null; ObjectOutputStream objectOutputStream = null; FileInputStream fileInputStream = null; ObjectInputStream objectInputStream = null; public void w
FileOutputStream fileOutputStream = null;
ObjectOutputStream objectOutputStream = null;
FileInputStream fileInputStream = null;
ObjectInputStream objectInputStream = null;
public void writeArrayListToFile(ArrayList<ArrayList<double []>> arraylist, String outputFilePath){
System.out.println("Start saving the file at : " + outputFilePath);
try {
fileOutputStream = new FileOutputStream(outputFilePath , true);
objectOutputStream = new ObjectOutputStream(objectOutputStream);
objectOutputStream.writeObject(arraylist);
System.out.println("Arraylist Saved Successfully...");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
FileOutputStream FileOutputStream=null;
ObjectOutputStream ObjectOutputStream=null;
FileInputStream FileInputStream=null;
ObjectInputStream ObjectInputStream=null;
public void writeArrayListToFile(ArrayList ArrayList,String outputFilePath){
System.out.println(“开始将文件保存在:“+outputFilePath”);
试一试{
fileOutputStream=新的fileOutputStream(outputFilePath,true);
objectOutputStream=新的objectOutputStream(objectOutputStream);
objectOutputStream.writeObject(arraylist);
System.out.println(“Arraylist已成功保存…”);
}catch(filenotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
但我得到一个错误,下面是堆栈跟踪
线程“AWT-EventQueue-0”java.lang.NullPointerException中出现异常
位于java.io.ObjectOutputStream$BlockDataOutputStream.drain(未知源)
位于java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(未知源)
位于java.io.ObjectOutputStream。(未知源)
位于com.fyp.imur2.SaveArrayListToFile.writeArrayListToFile(SaveArrayListToFile.java:24)
在com.fyp.imur2.JPanelJFreeChart.btnsaevegesturecollectionperformed上(JPanelJFreeChart.java:380)
com.fyp.imur2.JPanelJFreeChart.access$5(JPanelJFreeChart.java:375)
com.fyp.imur2.JPanelJFreeChart$6.actionPerformed(JPanelJFreeChart.java:166)
在javax.swing.AbstractButton.fireActionPerformed(未知源)
位于javax.swing.AbstractButton$Handler.actionPerformed(未知源)
在javax.swing.DefaultButtonModel.fireActionPerformed(未知源)
位于javax.swing.DefaultButtonModel.setPressed(未知源)
位于javax.swing.plaf.basic.BasicButtonListener.mouseReleased(未知源代码)
位于java.awt.Component.ProcessMouseeEvent(未知源)
位于javax.swing.JComponent.ProcessMouseeEvent(未知源)
位于java.awt.Component.processEvent(未知源)
位于java.awt.Container.processEvent(未知源)
位于java.awt.Component.dispatchEventImpl(未知源)
位于java.awt.Container.dispatchEventImpl(未知源)
位于java.awt.Component.dispatchEvent(未知源)
位于java.awt.LightweightDispatcher.RetargetMouseeEvent(未知源)
位于java.awt.LightweightDispatcher.ProcessMouseeEvent(未知源)
位于java.awt.LightweightDispatcher.dispatchEvent(未知源)
位于java.awt.Container.dispatchEventImpl(未知源)
位于java.awt.Window.dispatchEventImpl(未知源)
位于java.awt.Component.dispatchEvent(未知源)
位于java.awt.EventQueue.dispatchEventImpl(未知源)
位于java.awt.EventQueue.access$200(未知源)
在java.awt.EventQueue$3.run处(未知源)
在java.awt.EventQueue$3.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源)
在java.awt.EventQueue$4.run处(未知源)
在java.awt.EventQueue$4.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源)
位于java.awt.EventQueue.dispatchEvent(未知源)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源)
位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源)
位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.run(未知源)
有人能帮我解决这个问题吗?任何帮助都将不胜感激。提前谢谢 在构造ObjectOutputStream实例时需要传递fileOutputStream
objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream = new ObjectOutputStream(fileOutputStream);
在线
objectOutputStream = new ObjectOutputStream(objectOutputStream);
尝试使用objectOutputStream对象调用构造函数,该对象为null。看起来您打算用fileOutputStream调用它,如下所示: