Java 我可以用ObjectOutputStream保存ImageIcon吗?

Java 我可以用ObjectOutputStream保存ImageIcon吗?,java,imageicon,objectinputstream,objectoutputstream,Java,Imageicon,Objectinputstream,Objectoutputstream,有人知道您是否可以使用ObjectOutputStream保存ImageIcon文件吗? 我有一个person注册表,我用ObjectOutputStream保存它,因此将imageicon与该信息一起编写会非常方便。 但是当我尝试读取图像图标时,什么都没有发生。我可以阅读所有其他信息,但似乎无法获得ImageIcon 有人知道我能做什么吗 编辑: 我有一个person类和一个person registry类。 下面是person类,personregistry类只是几个person的集合。我用

有人知道您是否可以使用
ObjectOutputStream
保存
ImageIcon
文件吗? 我有一个person注册表,我用
ObjectOutputStream
保存它,因此将
imageicon
与该信息一起编写会非常方便。 但是当我尝试读取图像图标时,什么都没有发生。我可以阅读所有其他信息,但似乎无法获得
ImageIcon

有人知道我能做什么吗

编辑: 我有一个person类和一个person registry类。 下面是person类,personregistry类只是几个person的集合。我用objectoutput流写出person注册表

public Person(String fn, String en, String a, int t, ImageIcon kb, Kort k)   {
        fname= fn;
        lname= en;
        adress= a;
        tlf= t;
        card= k;
        df.format(medlemsNr= ++nextNr);
        cardPicture= kb;
        neste= null;
    }

public void writePersonsToFile()   {
        try(ObjectOutputStream utfil= new ObjectOutputStream(
                new FileOutputStream(("PersonRegistry.data"))))   {
            utfil.writeObject(personRegistry);
        }
        catch(NotSerializableException nse) {

        }
        catch(IOException ioe)  {

        }
    }

我不明白你的问题?您有一个图像流,您想创建一个imageicon对象来绘制或执行其他操作吗

如果是这样,您可以在中使用
ImageIO.read(ImageInputStream)


如果您有一个图像流(例如:从url)并希望保存到图像文件,您可以通过使用
FileOutputStream
将其包装并简单地写入文件来保存到文件中。

我终于解决了这个问题。这是我犯的一个愚蠢的错误。 通过
ObjectOutputStream
保存
ImageIcon
并再次保存,效果很好。 问题在于我试图保存的文件

我想要保存的
ImageIcon
位于GUI上的
JLabel
中。 要保存它,我必须首先使用以下工具获取图标:

ImageIcon imgIcon= (ImageIcon)imgLabel.getIcon();

然后通过outputstream运行它。谢谢你的帮助

使用
ObjectInputStream
读取
imageicon
时会发生什么?嗯,什么都没有。首先,我阅读了成功的人事登记册。所有数据(文本)都在那里,但图像图标我希望它显示在带有JLabel.setIcon(图像图标)的JLabel上,但什么也没有发生。您能否与
ObjectOutputStream
共享保存
imageicon
的代码以及读取
imageicon
发布代码的代码。我读书的时候也用同样的方法。InputObjectStream personRegistry=(personRegistry)infle.readObject();问题是我有一个ImageIcon,我想将它与字符串信息(如果可能的话)一起保存在objectoutputstream中,然后从objectinputstream中再次读取它。或者我必须在ImageOutput中单独保存imageicon吗?