gpt4 book ai didi

java - 加快从 InputStream 读取和使用 FileOutputStream 写入的速度

转载 作者:行者123 更新时间:2023-12-01 21:14:23 25 4
gpt4 key购买 nike

我正在从数据库的列中读取一些 blob,并使用 FileOutputStream 将它们保存到文件中。

这是我的代码:

InputStream binaryFile = rs_ivol.getBinaryStream("BLOB_COLUMN_FROM_BY_DB");
FileOutputStream outputFile = new FileOutputStream(myoutpath);
int aux = 0;
while ((aux = binaryFile.read()) != -1)
{
outputFile.write(aux);
}

问题是这非常慢。我需要转换超过 58225 个项目,最多可能需要 24 小时。

有人可以告诉我如何才能使从InputStream读取写入FileOutputStream更快吗?

提前致谢。

最佳答案

使用缓冲区读取和写入。

InputStream binaryFile = rs_ivol.getBinaryStream("BLOB_COLUMN_FROM_BY_DB");
FileOutputStream outputFile = new FileOutputStream(myoutpath);
int aux = 0;
byte[] buffer = new byte[1024];
while ((aux = binaryFile.read(buffer)) > 0)
{
outputFile.write(buffer, 0, aux);
}

编辑:请参阅 DwB 的答案,了解滚动自己的缓冲区的替代方法...

编辑:另外@Nicolas Filotto 也有更好的建议...

关于java - 加快从 InputStream 读取和使用 FileOutputStream 写入的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40549513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com