Javaコードを利用してoracleのblobフィールドの内容をXML形式の文字列に解析する



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();
	            }