私のコード例では、たくさんのコードがあります。テキストファイルから文字列データを取得し、オブジェクトにパックを格納します
しかし、この問題は、(コードの最後の)restoreCourseメソッド内にあります。ここでは、(StorageManagerから取得した)すべてのデータを文字列配列(lineBuffer)にリストアしてからそのデータを使用してクラスCourseのオブジェクトを復元し、メソッドの最後にそれを返します。
public class Course {
private String name;
private int courseID;
private String signUpCode;
private String courseGuide;
private String courseScheme;
private String courseGrade;
private String courseSpeed;
private String courseCredit;
public Course(String name,int courseID,String signUpCode,
String courseGuide,String courseScheme,String courseSpeed,String
courseCredit){
this.name = name;
this.courseID = courseID;
this.signUpCode= signUpCode;
this.courseGuide = courseGuide;
this.courseScheme = courseScheme;
this.courseSpeed = courseSpeed;
this.courseCredit = courseCredit;
this.courseGrade = "";
}
public int getCourseID(){
return courseID;
}
public String getCourseName(){
return name;
}
public String getSignUpCode(){
return signUpCode;
}
public String getCourseScheme(){
return courseScheme;
}
public String getCourseGuide(){
return courseGuide;
}
public String getCourseGrade(){
return courseGrade;
}
public String getCourseSpeed(){
return courseSpeed;
}
public String getCourseCredit(){
return courseCredit;
}
@Override
public String toString() {
StringBuffer msg = new StringBuffer();
msg.append (courseID);
msg.append ("-");
msg.append (name);
msg.append ("-");
msg.append (signUpCode);
msg.append ("-");
msg.append (courseGuide);
msg.append ("-");
msg.append (courseScheme);
msg.append ("-");
msg.append (courseGrade);
msg.append ("-");
msg.append (courseSpeed);
msg.append ("-");
msg.append (courseCredit);
msg.append ("\n");
return msg.toString();
}
}
public class FileCourseDAO implements CourseDAO {
public void saveCourse(Course course){
StringBuffer dataBuffer = new StringBuffer();
dataBuffer.append (course.getCourseID());
dataBuffer.append ("-");
dataBuffer.append (course.getCourseName());
dataBuffer.append ("-");
dataBuffer.append (course.getSignUpCode());
dataBuffer.append ("-");
dataBuffer.append (course.getCourseGuide());
dataBuffer.append ("-");
dataBuffer.append (course.getCourseScheme());
dataBuffer.append ("-");
dataBuffer.append (course.getCourseGrade());
dataBuffer.append ("-");
dataBuffer.append (course.getCourseSpeed());
dataBuffer.append ("-");
dataBuffer.append (course.getCourseCredit());
dataBuffer.append ("\n");
StorageManager packer = StorageManager.getInstance();
try {
packer.storeStringData (dataBuffer.toString().trim());
} catch (IOException e){
System.out.println ("Storage manager Error:");
e.printStackTrace();
}
}
public Course restoreCourse(int courseID){
StorageManager packer = StorageManager.getInstance();
if (!packer.storeExists()){
System.out.println ("No file with data.");
return;
}
try {
String[] lineBuffer = null;
List<String> dataBuffer = packer.readData();
for (String dataLine : dataBuffer){
lineBuffer = dataLine.split(" ");
}
Course course = new Course();
} catch (IOException e) {
System.out.println ("Error while reading data file.");
}
return course;
}
}
ようこそ!あなたは、不必要なコードをたくさん持たなければならないようです。[Minimal、Complete、and Verifiable example](https://stackoverflow.com/help/mcve)を投稿してください –
あなたが直面している問題は何ですか – Subhiksh
私はしたいと思いますメソッド "saveCourse"をテキストファイルとして保存したオブジェクトを復元し、メソッド "restoreCourse"を使用してオブジェクトを返します。 – AdamBergstroem