如何将输入流转换为数据处理程序?
2022-09-01 11:31:23
我正在开发一个java Web应用程序,其中文件将存储在数据库中。最初,我们通过简单地调用结果集来检索数据库中已有的文件:getBytes
byte[] bytes = resultSet.getBytes(1);
...
然后,使用明显的构造函数将此字节数组转换为:DataHandler
dataHandler=new DataHandler(bytes,"application/octet-stream");
这非常有效,直到我们开始尝试存储和检索更大的文件。将整个文件内容转储到一个字节数组中,然后从中构建一个字节数组,只需要太多的内存。DataHandler
我的直接想法是检索数据库中的数据流,并以某种方式将其转换为内存效率高的方式。不幸的是,似乎没有直接的方法将 a 转换为 .我一直在玩的另一个想法是从 中读取数据块,并将它们写入 .但。。。我找不到一种方法来创建一个“空”,当我调用...getBinaryStream
InputStream
DataHandler
InputStream
DataHandler
InputStream
OutputStream
DataHandler
DataHandler
OutputStream
getOutputStream
有人这样做过吗?我很感激你能给我的任何帮助,或者朝着正确的方向前进。