----从数据库中读出的二进制字段
byte[] blobData=null;
public byte[] blob(){
    BLOB blob=(BLOB)rs.getBlob("PHOTO");
    if(blob==null){
blobData=new byte[0];
map.put(rsmd.getColumnName(columnI),blobData);
    }else{
long len=blob.getLength();
blobData=blob.getBytes((long)1,(int)len);
  blobData=rs.getBytes(columnI);
map.put(rsmd.getColumnName(columnI),blobData);
    }
    return blobData;
}
----生成文件
byte[] picByte=blob();
FileOutputStream fos=new FileOutputStream(new File("E:/xx.jpg"));
fos.write(picByte);
fos.flush();
fos.close();以上程序都可以运行,但是写出的文件却和数据库中的不符