我正在讀取Oracle數據庫中的blob數據&將其寫入文本文件。我的數據庫中有兩列名爲Number &系統。我的桌子上有100道菜。但只有最後一行是寫在我的文本行中。下面是我試過的代碼。使用blob數據寫入文件
rs =stmt.executeQuery("select Number, system from system");
Blob lob = null;
while (rs.next()) {
String RECID = rs.getString(1);
System.out.println("Number"+ Number);
lob=rs.getBlob("system");
byte[] bdata = lob.getBytes(1, (int) lob.length());
String text = new String(bdata);
System.out.println("text"+ text);
System.out.println("rs value"+ lob);
String test=null;
test=RECID+":"+text;
FileOutputStream fos = new FileOutputStream("C:/DataRead/system.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeBytes(test);
dos.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
在文本文件中,我只獲得第100條記錄,其他99行沒有寫入。
重新打開在每次迭代的輸出文件,肯定清除以前的版本。 –
謝謝亞歷克西斯,請教如何打開每個迭代的輸出文件 – user2742540