我可以使用ObjectOutputStream保存ImageIcon吗?
有谁知道你是否可以用ObjectOutputStream
保存ImageIcon
文件? 我有一个人员注册表,我使用ObjectOutputStream
保存,因此将imageicon
与该信息一起编写会非常方便。 但是,当我尝试阅读图像图标时,没有任何反应。我阅读所有其他信息,但似乎不能得到ImageIcon
。我可以使用ObjectOutputStream保存ImageIcon吗?
任何人有什么想法,我可以做什么?编辑: 我有一个人类和一个人的注册表类。下面的 是人类,而人员注册类只是几个人的集合。我用objectoutput流写出人员注册表。
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) {
}
}
我终于解决了。这是我手上的一个愚蠢的错误。 它工作正常,通过ObjectOutputStream
保存ImageIcon
并再次。 麻烦与我试图保存的文件。
我想保存的ImageIcon
位于GUI上的JLabel
内。 保存它,我只好用先拿到图标:
ImageIcon imgIcon= (ImageIcon)imgLabel.getIcon();
,然后通过OutputStream中运行它。感谢所有帮助。 =)
我不明白你的问题?你有一个图像流,你想创建一个图像对象来绘制或其他行动?
如果这样,你可以在ImageIO class
使用ImageIO.read(ImageInputStream stream)
如果您有图像的流(例如:从URL),并要保存到图像文件,你可以节省包装它与FileOutputStream
和简单文件将它写入一个文件。
这不是一个答案。请再次阅读该问题。 – Apurv 2013-04-28 14:39:37
事情是我有一个ImageIcon,并且我想将它与字符串信息(如果可能的话)一起保存在objectoutputstream中,然后再从objectinputstream中读取它。或者我必须将imageicon分开保存在ImageOutput中? – fuLLMetaLMan 2013-04-28 15:12:05
当你用'ObjectInputStream'读'imageicon'时会发生什么? – Apurv 2013-04-28 13:44:47
嗯,没什么。首先,我用连续的方式阅读人员注册表。所有的数据(文本)都存在,但我希望它使用JLabel.setIcon(imageIcon)在JLabel上显示imageicon,但没有任何反应。 – fuLLMetaLMan 2013-04-28 13:48:35
你可以分享代码保存'imageicon'与'ObjectOutputStream'和你正在阅读代码'imageicon' – Apurv 2013-04-28 14:37:36