使用javax.activation.DataHandler
的主要原因是什么?
是否通过网络促进未实现Serializable的对象传输?
即。例如,我已经看到文件从本地文件系统转换为字节,然后使用这些字节创建DataHandler
并通过网络传输DataHandler
。
这是人们使用DataHandler
的原因吗?
答案 0 :(得分:6)
DataHandler类为许多不同来源和格式的数据提供了一致的界面。它使用DataContentHandlers管理简单的流到字符串转换和相关操作。
不可否认,这不是最明确的描述。 DataHandler
与XML和SOAP有关,您可以从the use tab of its API page中看到。和你一样,我用它来表示有关上传文件的数据,因为它是从一个Web服务组件发送到另一个Web服务组件进行处理的。
Transferable
实现的DataHandler
接口并不完全是指序列化处理的“转移”。它是关于在程序中的单独组件之间传输信息,或者是单独的程序,而不是保存对象以供以后使用。有关详情,请参阅API entry for Transferable
。您会注意到它链接到the Drag 'n' Drop Java Tutorial,这与DataHandler
没什么关系,但确实说明了Transferable
的使用。
答案 1 :(得分:1)
还有一些性能方面的考虑因素,即使用javax.activation.DataHandler进行SOAP附件可以提高性能。
e.g。正如Oracle所提到的那样“......改进的性能:非正式测试表明,使用DataHandler包装器可以使图像/ gif MIME类型的吞吐量加倍,并且对于image / *类型,text / xml或java.awt.Image的吞吐量大约增加1.5倍。 ......“这是来自LINK