81,092
社区成员
发帖
与我相关
我的任务
分享
public static DataHandler getDataHandlerFromElement(XMLStreamReader reader)
throws XMLStreamException
{
WritableBlob blob;
Writer out;
int event = reader.next();
if(event == 2)
return new DataHandler(new EmptyDataSource("application/octet-stream"));
if(event != 4)
throw new XMLStreamException("Expected a CHARACTER event");
DataHandlerReader dhr = getDataHandlerReader(reader);
if(dhr != null && dhr.isBinary())
{
DataHandler dh = dhr.getDataHandler();
reader.next();
return dh;
}
blob = new MemoryBlob();
out = new Base64DecodingOutputStreamWriter(blob.getOutputStream());
break MISSING_BLOCK_LABEL_101;
ex;
throw new XMLStreamException("Error during base64 decoding", ex);
writeTextTo(reader, out);
IOException ex;
label0:
do
switch(reader.next())
{
case 4: // '\004'
writeTextTo(reader, out);
break;
default:
throw new XMLStreamException("Expected a CHARACTER event");
case 2: // '\002'
out.close();
break label0;
}
while(true);
return new DataHandler(new BlobDataSource(blob, "application/octet-string"));
}