Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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 在具体的类中,我的ObjectOutputStream无法工作,无法显示正确的结果_Java_Oop_File Handling_Serializable_Objectoutputstream - Fatal编程技术网

Java 在具体的类中,我的ObjectOutputStream无法工作,无法显示正确的结果

Java 在具体的类中,我的ObjectOutputStream无法工作,无法显示正确的结果,java,oop,file-handling,serializable,objectoutputstream,Java,Oop,File Handling,Serializable,Objectoutputstream,我的用户抽象类 package mainpkg; abstract public class User { public int id; public String name, email, mobile; public User() { } public User(int id, String name, String email, String mobile) { this.id = id;

我的用户抽象类

package mainpkg;

abstract public class User {
    public int id;            
    public String name, email, mobile;     

    public User() {
    }

    public User(int id, String name, String email, String mobile) {
        this.id = id;
        this.name = name;
        this.email = email;
        this.mobile = mobile;
    }

    abstract public void setInfo();       
    abstract public void showInfo(); 
}
这是我的学生创造课

package mainpkg;

import java.io.Serializable;
import java.util.Scanner;

public class Student extends User implements Serializable  {
    private float cgpa;
    private String dept;


    public Student(float cgpa, String dept, int id, String name, String email, String mobile) {
        super(id, name, email, mobile);
        this.cgpa = cgpa;
        this.dept = dept;
    }

    @Override
    public void setInfo() {
        System.out.println("Set Student Info");
        Scanner s = new Scanner(System.in);

        System.out.print("Enter ID: "); id = s.nextInt();
        s.nextLine();
        System.out.print("Enter Name: "); name = s.nextLine();
        System.out.print("Enter Email: "); email = s.nextLine();
        System.out.print("Enter Mobile: "); mobile = s.nextLine();
        System.out.print("Enter dept: "); dept = s.nextLine();
        System.out.print("Enter CGPA: "); cgpa = s.nextFloat();
    }

    @Override
    public void showInfo() {
        display();
    }

    public void display(){
        System.out.println("ID : "+id+", Name : "+name+", email : "+email+", mobile : "+mobile+", CGPA : "+cgpa+", dept : "+dept+";");
    }

    @Override
    public String toString() {
        return "ID : "+id+", Name : "+name+", email : "+email+", mobile : "+mobile+", CGPA : "+cgpa+", dept : "+dept+";\n";
        }
}
这是代码,告诉我什么,我的结果

@FXML
    private void showStudentButtonOnclick(ActionEvent event) {
        FileInputStream fis = null;
        ObjectInputStream ois = null;
        try {
             File f = new File("student.bin");
            if(!f.exists())
                outputTextFeild.setText("File Does Not Exists!!");

            else {
                fis = new FileInputStream(f);
                ois = new ObjectInputStream(fis);
                outputTextFeild.setText("");

            try{
//                    Student s;
                    while(true){
                       Student s = (Student) ois.readObject();
                        System.out.println(s.toString());
                        outputTextFeild.appendText(s.toString());
                    }
            } catch (Exception ex){
                    System.out.println(ex);
                }
            }

        } catch (IOException ex) {
//            Logger.getLogger(FXMLMainSceneController.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println(ex);
        }

        finally{
            if(ois != null)
            try{
                 ois.close();
            } catch (IOException ex){
            System.out.println(ex);
        }
        }

    }
但实际上,这是它的回报

ID:0,姓名:空,电子邮件:空,手机:空,CGPA:2.6,部门:cse

ID:0,姓名:空,电子邮件:空,手机:空,CGPA:2.7,部门:bba

他们不能返回我的超级类数据。
请帮帮我。谢谢。

在阅读表格之前,您是否在文件中写入任何内容?是的,我会写入。这做得很好。我的CGPA:2.6,部门:cse;你能把代码贴在你写文件的地方,以及你的文件在项目目录中的位置吗