我目前正在尝试创建一个小型测验应用程序,其中对象类将包含:
要包含此数据,我有一个txt。包含相关数据的文件。该文件的格式与上面的列表相同。
我想要做的是读取文件并从每行导入数据并转换为我的程序使用。
这与其他此类问题不同,因为我希望转换问题(字符串中会有空格),同时还在单独的行中为数组中的同一对象集导入其他对象数据。
questions (String question, String answer1, String answer2, String answer3, int correctAnswer){
this.question = question;
this.answer1 = answer1;
this.answer2 = answer2;
this.answer3 = answer3;
this.correctAnswer = correctAnswer;
}
public String getQuestion(){
return question;
}
public String getAnswer1(){
return answer1;
}
public String getAnswer2(){
return answer2;
}
public String getAnswer3(){
return answer3;
}
public int getCorrectAnswer(){
return correctAnswer;
}
如果需要,这是我的对象类。
答案 0 :(得分:0)
您可以在班级中实现Serializable接口。这是一个接口标记,因此它不包含任何方法和字段。未实现此接口的类将不会将其任何状态序列化或反序列化。 您必须使用这些确切的签名实现特殊方法:
private void writeObject(java.io.ObjectOutputStream out) throws IOException
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
private void readObjectNoData() throws ObjectStreamException;
所以,你的“writeObject()”方法将是这样的:
private void writeObject(java.io.ObjectOutputStream out) throws IOException {
out.writeString(question);
out.writeString(answer1);
out.writeString(answer2);
out.writeString(answer3);
out.writeInt(correctAnswer);
}
你的“readObject”将是这样的:
private void writeObject(java.io.ObjectInputStream in) throws IOException,ClassNotFoundException {
question = in.readString();
answer1 = in.readString();
answer2 = in.readString();
answer3 = in.readString();
correctAnswer = in.readInt();
}