Han*_*etz 2 java data-modeling
我有一个应用程序可以通过各种方法和各种格式接收数据.我有可插拔的接收器,以某种方式获取数据(例如通过轮询邮箱,监听HTTP请求,监视目录的内容等),将其与MIME类型相关联,然后将其传递给包装如下:
public class Transmission {
private String origin; // where the data came from
private String destination; // where the data was sent to
private String mime; // the MIME type of the data
private BLOB data; // this is what I need an appropriate type for
}
Run Code Online (Sandbox Code Playgroud)
在线下,数据由专业处理程序根据mime字段的值进行处理.我期待像ZIP文件,Excel文档,SOAP,通用XML,纯文本等等.此时,代码应该与数据中的内容无关.这个data领域的适当类型是什么?Object?InputStream?Byte[]?
多种可能性:
我不会使用Blob,因为将与DB相关的东西放入我们的主模型似乎很奇怪.
我会选择 或byte[],InputStream更喜欢流,因为它更灵活。如果需要,您可以使用 aByteArrayInputStream为其提供字节数组。但你不能反过来做。
还有内存效率的好处,因为流可以处理大量外部数据而无需太多内存。如果使用则byte[]需要将所有数据加载到内存中。换句话说,流是惰性的。
| 归档时间: |
|
| 查看次数: |
1419 次 |
| 最近记录: |