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吗?