나는 databse의 열에서 일부 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도 더 나은 제안을했습니다 ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다