小水滴公司正在开发小水滴校园管理系统。其中一个重要的功能是管理和维护学生的信息和当前状态。为了将学生信息保存在文件系统中,小水滴校园管理系统需要将内存中保存的学生对象首先转化为YAML字符串,然后再存放在文件中。当需要使用学生信息时,再将其从文件中读取出来,转化为学生对象。本项目练习的是从文件中读取学生对象的一个步骤。
学生对象的定义在com.littlewaterdrop.bean包中的Student.java文件中。该类包含了三个成员变量,它们分别是(1) name,字符串类型;(2) age,整数类型;和(3) major,字符串类型。
package com.littlewaterdrop.bean;
public class Student {
private String name = null; // 名字
private Integer age = null; // 年龄
private String major = null; // 专业
...
}
在项目的com.littlewaterdrop包的StudentInfoLoader.java文件中,定义了类StudentInfoLoader。该类定义了方法loadStudent(),用于从输入参数stream中读取一名学生信息。stream的类型是一个输入流InputStream。在本项目中,stream流中包含的是一个合法的YAML字符串。在loadStudent()中,需要将该YAML字符串信息转化为对应的一个Student对象,并从方法返回该对象。在处理过程中,如果出现任何错误,则返回null。
package com.littlewaterdrop;
public class StudentInfoLoader {
public Student loadStudent(InputStream stream) {
// 1. 读取stream对象中的数据,它是一个YAML字符串
// 2. 将得到的YAML字符串转化为Student对象
// 3. 返回得到的Student对象,并关闭stream流
return null;
}
}
以下是一个YAML字符串格式的学生信息的用例。它包含name、age和major三个字段。
---
name: "Adam"
age: 21
major: "Chemistry"