Java - 在没有磁盘R / W的内存中处理文件

时间:2014-04-08 08:36:02

标签: java file memory disk

我通过套接字接收文件 并将它们保存到数据库中。

所以,我正在接收字节流并传递它 到后端进程,比如 Process1 用于DB保存。

我希望不保存就这样做 磁盘上的流。所以,而不是存储传入的流 作为磁盘上的文件,然后将该文件传递给 Process1 , 我希望在它还在记忆中时传递它。 这是为了消除耗时的昂贵的磁盘读取和读取。写。

我能做的一种方法是将byte []传递给 Process1 。 我想知道是否有更好的方法来做到这一点。

TIA。

2 个答案:

答案 0 :(得分:1)

您可以使用ByteArrayOutputStream。它本质上是一个可增长的byte[],您可以随意写入,即可用堆空间的限制。

在写入/刷新/关闭它之后(虽然这两个最后的操作本质上是一个无操作,没有理由放弃理智的做法),你可以使用这个类获取基础字节数组& #39; s .toByteArray()

答案 1 :(得分:0)

Socket听起来像你在找什么。