From 2e7f69d3e6da0af22ccb5c2af630b011d99e35a1 Mon Sep 17 00:00:00 2001 From: hxuanyu Date: Thu, 4 Jun 2020 14:31:46 +1000 Subject: [PATCH] refined file copy --- .../oms/server/persistence/mongodb/GridFsManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java index 55ff19c4..29d11fe0 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java @@ -78,12 +78,13 @@ public class GridFsManager { public void download(File targetFile, String bucketName, String fileName) throws IOException { if (available()) { GridFSBucket bucket = getBucket(bucketName); - byte[] buffer = new byte[1024]; try (GridFSDownloadStream gis = bucket.openDownloadStream(fileName); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(targetFile)) ) { - while (gis.read(buffer) != -1) { - bos.write(buffer); + byte[] buffer = new byte[1024]; + int bytes = 0; + while ((bytes = gis.read(buffer)) != -1) { + bos.write(buffer, 0, bytes); } bos.flush(); }