gpt4 book ai didi

java - 在 Java 中序列化并保存 double [] 的 ArrayList

转载 作者:行者123 更新时间:2023-12-02 05:12:40 25 4
gpt4 key购买 nike

我想在java中序列化并保存一个包含double [] arraylist的arraylist。这是我的代码。

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();
}
}

但是我收到错误,以下是堆栈跟踪。

线程“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.btnSaveGestureCollectionActionPerformed(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.processMouseEvent(来源未知) 在 javax.swing.JComponent.processMouseEvent(来源未知) 在 java.awt.Component.processEvent(来源未知) 在 java.awt.Container.processEvent(来源未知) 在 java.awt.Component.dispatchEventImpl(来源未知) 在 java.awt.Container.dispatchEventImpl(来源未知) 在 java.awt.Component.dispatchEvent(来源未知) 在 java.awt.LightweightDispatcher.retargetMouseEvent(来源未知) 在 java.awt.LightweightDispatcher.processMouseEvent(来源未知) 在 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( native 方法) 在 java.security.ProtectionDomain$1.doIntersectionPrivilege(来源未知) 在 java.security.ProtectionDomain$1.doIntersectionPrivilege(来源未知) 在 java.awt.EventQueue$4.run(来源未知) 在 java.awt.EventQueue$4.run(来源未知) 在 java.security.AccessController.doPrivileged( native 方法) 在 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);

关于java - 在 Java 中序列化并保存 double [] 的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27209427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com