Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中序列化并保存double[]的ArrayList_Java_Serialization_Arraylist_Io_Save - Fatal编程技术网

在Java中序列化并保存double[]的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

我想序列化并保存一个arraylist,该arraylist在java中包含一个双[]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();
    }       
}
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调用它,如下所示: