我已经存储的Blob(PNG文件)到数据库中,像这样:如何将ImageIcon转换回blob?
File file = new File("image.png");
FileInputStream fis = new FileInputStream(file);
statement.setBinaryStream(1, fis, (int) file.length());
目前我使用此过程从DB获得团块图像并将其转换回使用的图像:
Blob blob = results.getBlob(1);
ImageIcon imageIcon = new ImageIcon(blob.getBytes(1L, (int) blob.length()));
但是,我需要一个方法将ImageIcon中的图像放回到数据库中(而不是创建文件),然后将其存储到磁盘,然后使用FileInputSteam读取它。
编辑为清楚起见 嘛,说我有一个存储作为标签一个ImageIcon内部的图像。我知道如何将它放入数据库的唯一方法是从FileInputStream中读取数据,但这会涉及无意中创建映像文件。那么如何将ImageIcon中的图像作为BinaryStream或Blob返回到数据库?
请您澄清一下吗? 你无法使用Java对象“文件”,或者你不想在磁盘上创建另一个文件?当你改变文件名时,你是否改变了文件名?你是说你不能使用文件和FileInputStream来存储然后读取文件,或者你不能使用文件来存储它,但是你需要使用FileInputStream读回它? 坦白地说,你的问题是什么? – MirroredFate 2011-06-06 21:35:09