我正在尝试制作一个将对象保存到文件然后从文件中读取对象的程序。我做错了什么?



我认为它保存了对象,因为它生成了.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

相关内容

  • 没有找到相关文章

最新更新