利用Java代码把oracle的blob字段内容解析成XML格式的字符串.
Statement statement = conn.createStatement();
sql = " select b.fjbh,b.ws_template_id,b.multimedia from a,b_blob b where "+condition ;
ResultSet resultSet = statement.executeQuery(sql) ;
while (resultSet.next()) {
String fjbh = resultSet.getString(1);
Blob blob = null;
InputStream is = null;
String distFile = "d:\\xml\\"+fjbh+".xml";
OutputStream os = new FileOutputStream(distFile);
blob = (Blob) resultSet.getBlob(3);
is = blob.getBinaryStream();
byte[] b = new byte[1024] ;
int len = is.read(b);
String newStr = "" ;
while (len != -1) {
os.write(b, 0, len);
newStr = newStr+new String(b,"UTF-8");
len = is.read(b);
}
int idx = newStr.indexOf("</PRINTDATA>");
newStr = newStr.substring(0, idx+12);
//newStr.replaceAll("[?]", "[ ]");
System.out.println(newStr);
os.flush();
os.close();
is.close();
}