Scanner input = new Scanner(System.in);
try(FileOutputStream fos = new FileOutputStream("d:/a.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
//创建文件输入流
//创建文件对象输入流
FileInputStream fis = new FileInputStream("d:/a.txt");
ObjectInputStream ois = new ObjectInputStream(fis);) {
//创建普通对象
Student student = new Student("小韩", "123456");
//实现序列化:序列化就是将内存中的Java对象已制定的二进制序列写入到特定的流中
oos.writeObject(student);
//实现反序列化
Student student2 = (Student) ois.readObject();
System.out.println(student2);
String name2 = student2.getName();
String password2 = student2.getPassword();
System.out.println(name2);
System.out.println("请输入用户名:");
String name = input.next();
System.out.println("请输入用户密码:");
String password = input.next();
if(name.equals(student2.getName()) && password.equals(student2.getPassword())) {
System.out.println("登陆成功");
}else {
System.out.println("登陆失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package copy1;
import java.io.Serializable;
public class Student implements Serializable {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Student() {
super();
}
public Student(String name, String password) {
super();
this.name = name;
this.password = password;
}
@Override
public String toString() {
return "Student [name=" + name + ", password=" + password + "]";
}
}