我已經存儲的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