Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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 Can';t使用fileio函数打开对象Arraylist_Java_File Io_Arraylist - Fatal编程技术网

Java Can';t使用fileio函数打开对象Arraylist

Java Can';t使用fileio函数打开对象Arraylist,java,file-io,arraylist,Java,File Io,Arraylist,我试图用一个函数打开一个带有fileIO的arraylist对象,但现在我被卡住了。我认为我的setter函数有问题。(文件test.txt已存在) 我使用以下类来实现fileio函数 Paslijst public class Paslijst implements Serializable { private ArrayList<Pas> paslijst; public ArrayList<Pas> setPaslijst(ArrayList<

我试图用一个函数打开一个带有fileIO的arraylist对象,但现在我被卡住了。我认为我的setter函数有问题。(文件test.txt已存在)

我使用以下类来实现fileio函数

Paslijst

public class Paslijst implements Serializable {
    private ArrayList<Pas> paslijst;

    public ArrayList<Pas> setPaslijst(ArrayList<Pas> paslijst){
    this.paslijst = paslijst;
    return paslijst;
 }
Main

 public static void main(String[] args) {

 FileIOPas fileiopas = new FileIOPas();
 Paslijst paslijst = new Paslijst();

 try {
       paslijst.setPaslijst(fileiopas.openen("test.txt"));
      } 
      catch (IOException e) {
          System.out.println(" IO openen mislukt, want: " + e.toString());
        } 
      catch (ClassNotFoundException e) {
          System.out.println("class not found: " + e.toString());
        }
     }

您在paslijst.setPaslijst()中传递了错误的参数。我已经编辑了您的类,这可能会有所帮助

public class Main {

    public static void main(String[] args) {
         FileIOPas fileiopas = new FileIOPas();
         Paslijst paslijst = new Paslijst();
         paslijst.setPaslijst(fileiopas.openen("test.txt"));
    }
}

public class FileIOPas {

    public ArrayList<Pas> openen(String filenaam) {

        try (FileInputStream fileInputStream = new FileInputStream(filenaam);
                ObjectInputStream objectInputStream = new ObjectInputStream(
                        fileInputStream);) {
            return (ArrayList<Pas>) objectInputStream.readObject();
        } catch (Exception exception) {
            exception.printStackTrace();
        }

        return null;
    }

}

public class Paslijst implements Serializable {

    private ArrayList<Pas> paslijst;

    public ArrayList<Pas> getPaslijst() {
        return paslijst;
    }

    public void setPaslijst(ArrayList<Pas> paslijst) {
        this.paslijst = paslijst;
    }

}
公共类主{
公共静态void main(字符串[]args){
FileIOPas FileIOPas=新的FileIOPas();
Paslijst Paslijst=新的Paslijst();
setPaslijst(fileiopas.openen(“test.txt”);
}
}
公共类文件IOPA{
公共ArrayList openen(字符串filenaam){
try(FileInputStream FileInputStream=newfileinputstream(filenaam);
ObjectInputStream ObjectInputStream=新ObjectInputStream(
fileInputStream);){
返回(ArrayList)objectInputStream.readObject();
}捕获(异常){
异常。printStackTrace();
}
返回null;
}
}
公共类Paslijst实现可序列化{
私人ArrayList paslijst;
公共数组列表getPaslijst(){
返回paslijst;
}
公共无效setPaslijst(ArrayList paslijst){
this.paslijst=paslijst;
}
}

(1)您的
Pas
类是否可序列化?(2) 运行代码时发生了什么?您是否遇到任何错误?问题是什么?您遇到了哪些异常?@Aleks G Exception in thread“main”java.lang.RuntimeException:不可编译的源代码-错误的符号类型:beefreeznew.Paslijst.setPaslijst at beefreeznew.beefreeznew.main是Pas是一个可序列化的类。您需要修复编译器错误。与打开或文件无关。非常感谢,我自己也意识到了这一点,但感谢您加快了进程。
public class Main {

    public static void main(String[] args) {
         FileIOPas fileiopas = new FileIOPas();
         Paslijst paslijst = new Paslijst();
         paslijst.setPaslijst(fileiopas.openen("test.txt"));
    }
}

public class FileIOPas {

    public ArrayList<Pas> openen(String filenaam) {

        try (FileInputStream fileInputStream = new FileInputStream(filenaam);
                ObjectInputStream objectInputStream = new ObjectInputStream(
                        fileInputStream);) {
            return (ArrayList<Pas>) objectInputStream.readObject();
        } catch (Exception exception) {
            exception.printStackTrace();
        }

        return null;
    }

}

public class Paslijst implements Serializable {

    private ArrayList<Pas> paslijst;

    public ArrayList<Pas> getPaslijst() {
        return paslijst;
    }

    public void setPaslijst(ArrayList<Pas> paslijst) {
        this.paslijst = paslijst;
    }

}