Здравствуйте.Я создал программу где пользователь может зарегистрироваться.Для того чтобы сохранить данные я использую сериализацию.Но проблема в том что при чтении из файла консоль даёт ошибку.Как мне это исправить?
Это данные для регистрации
import java.io.Serializable;
import java.util.Scanner;
public class RegistrationData implements Serializable {
public String name;
public String surname;
public int age;
Scanner sc=new Scanner(System.in);
public String getName() {
return name;
}
public void setName(String name) {
System.out.println("Введите ваше имя");
name=sc.nextLine();
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
System.out.println("Введите вашу фамилию");
surname=sc.nextLine();
this.surname = surname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
System.out.println("Ведите ваш возрост");
int Age= sc.nextInt();
this.age = age;
}
}
Создал объект этого класса в другом классе
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Scanner;
public class Registration implements Serializable {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
RegistrationData u = new RegistrationData();
u.setName(u.getName());
u.setSurname(u.getSurname());
u.setAge(u.getAge());
try {
FileOutputStream fis = new FileOutputStream("Users.bin");
ObjectOutputStream ous = new ObjectOutputStream(fis);
ous.writeObject(u);
ous.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
И создал класс где я буду узнать данные в файле
import java.io.*;
import java.util.Scanner;
public class Users implements Serializable {
public static void main(String[] args) {
try {
FileInputStream fis=new FileInputStream("Users.bin");
ObjectInputStream ous=new ObjectInputStream(fis);
Registration newMath=(Registration) ous.readObject();
ous.close();
System.out.println(newMath);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}