我认为它保存了对象,因为它生成了.txt文件,但是当我运行程序时,在我输入输入后,它输出"初始化流时出错"。我是Java和编码的新手,所以我只是想知道我做错了什么。
这是我运行代码时得到的:
"你想要什么类型的服装?
大猩猩套装
你想要什么类型的口罩?
大猩猩">
这是你的衣服。
服装:大猩猩套装
面具:大猩猩
初始化流时出错">
我希望对象的内容("大猩猩套装"和"大猩猩"(为 输出在最后一行,但它输出"初始化流时出错"。
这是跑步者类:
class RunHalloween2
{
public static void main(String[] args)
{
Scanner Input = new Scanner(System.in);
Halloween outfit = new Halloween();
System.out.println("What type of costume do you want?");
outfit.setCostume(Input.nextLine());
System.out.println("What type of mask do you want?");
outfit.setMask(Input.nextLine());
System.out.println("");
System.out.println("This is your outfit.");
System.out.println("Costume: " + outfit.getCostume());
System.out.println("Mask: " + outfit.getMask());
try {
FileOutputStream f = new FileOutputStream(new File("myOutfit.txt"));
ObjectOutputStream o = new ObjectOutputStream(f);
// Write objects to file
o.writeObject(outfit);
o.close();
f.close();
FileInputStream fi = new FileInputStream(new File("myOutfit.txt"));
ObjectInputStream oi = new ObjectInputStream(fi);
// Read objects
outfit = (Halloween) oi.readObject();
System.out.println(outfit.toString());
oi.close();
fi.close();
} catch (FileNotFoundException e) {
System.out.println("File not found");
} catch (IOException e) {
System.out.println("Error initializing stream");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
根据我,可能有 2 个错误:-
1 - 您的文件名是myOutfit.txt
,但应该是myOutfit.ser
。
2 - 您的万圣节课程未实现丝网化。
public class Halloween implements java.io.Serializable