Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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-从二进制文件中读取arraylist集合并在新数组中分配每个元素_Java_Arrays_Arraylist_Binary - Fatal编程技术网

java-从二进制文件中读取arraylist集合并在新数组中分配每个元素

java-从二进制文件中读取arraylist集合并在新数组中分配每个元素,java,arrays,arraylist,binary,Java,Arrays,Arraylist,Binary,在此之前,我已经将arraylist数据写入了一个名为(itStateBaryan.dat)的二进制文件中 现在我试图从二进制文件中读取arraylist,然后将arraylist中的每个元素分配给数组 到目前为止,我有: public CarOwner[] readListFromBinary() throws Exception { String fileName = "ItStateBinary.dat"; FileInputStream inStream = new Fi

在此之前,我已经将arraylist数据写入了一个名为(itStateBaryan.dat)的二进制文件中

现在我试图从二进制文件中读取arraylist,然后将arraylist中的每个元素分配给数组

到目前为止,我有:

public CarOwner[] readListFromBinary() throws Exception
{
    String fileName = "ItStateBinary.dat";
    FileInputStream inStream = new FileInputStream(fileName);
    ObjectInputStream objectInputFile = new ObjectInputStream(inStream);

    //need to create CarOwner[] object called temp and return
}
readListFromBinary()方法从二进制文件(ltStateBinary.dat)中读取ArrayList集合。然后,将每个ArrayList对象项写入新创建的名为temp的CarOwner[]。temp返回给调用方法

编辑:

public CarOwner[]readListFromBinary()引发异常
{
String fileName=“ItStateBinary.dat”;
FileInputStream inStream=新的FileInputStream(文件名);
ObjectInputStream objectInputFile=新ObjectInputStream(流内);
ArrayList read=(ArrayList)objectInputFile.readObject();
CarOwner[]temp=read.toArray(新的CarOwner[read.size()]);
返回温度;
}

有人知道这种方法有什么问题吗?它给了我一个编译器警告

我不知道你在问什么,但假设你像这样将ArrayList写入文件 即:

 public CarOwner[] readListFromBinary() throws Exception
{
    String fileName = "ItStateBinary.dat";
    FileInputStream inStream = new FileInputStream(fileName);
    ObjectInputStream objectInputFile = new ObjectInputStream(inStream);

    ArrayList<CarOwner> read = (ArrayList<CarOwner>)objectInputFile.readObject();

    CarOwner[] temp = read.toArray(new CarOwner[read.size()]); 
    return temp;
}
ArrayList<CarOwner> al = new ArrayList<CarOwner>();
FileOutputStream fos = new FileOutputStream("ItStateBinary.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(al);
FileInputStream fis = new FileInputStream("ItStateBinary.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
ArrayList<CarOwner> read = (ArrayList<CarOwner>)ois.readObject();
return read.toArray(new CarOwner[read.size()]);