From 9030e6cced494e0d8ff28435a00586a8c155bc54 Mon Sep 17 00:00:00 2001 From: Santosh Yadav Date: Thu, 8 Feb 2018 16:40:24 +0530 Subject: [PATCH] sonar bug: check actual bytes skipped checked no of byted skipped in skipped var line no: 65 Issue-ID: VFC-697 Change-Id: I65cf97067a715cd014fb04cbd163bf62f091b69c Signed-off-by: Santosh Yadav --- .../vfc/nfvo/emsdriver/commons/utils/Gunzip.java | 125 ++++++++++----------- 1 file changed, 60 insertions(+), 65 deletions(-) diff --git a/ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/commons/utils/Gunzip.java b/ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/commons/utils/Gunzip.java index bd6b1d1..9098c27 100644 --- a/ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/commons/utils/Gunzip.java +++ b/ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/commons/utils/Gunzip.java @@ -18,72 +18,67 @@ package org.onap.vfc.nfvo.emsdriver.commons.utils; import java.io.*; import java.util.zip.GZIPInputStream; - public class Gunzip { - /** - * - */ - public void unCompress(String gzFileName, String toFile) - throws IOException { - GZIPInputStream gzIn = null; - FileOutputStream fileOutput = null; - FileInputStream gzInput = new FileInputStream(gzFileName); - try { - gzIn = new GZIPInputStream(gzInput); - File tofile = new File(toFile); - enable(tofile); - fileOutput = new FileOutputStream(tofile, false); - - moveBytes(gzIn, fileOutput, -1, -1, 1024); - } finally { - if (gzIn != null) { - gzIn.close(); - } - if (fileOutput != null) { - fileOutput.close(); - } - - } - - - } - - private void enable(File tofile) throws IOException { - if (!tofile.exists()) { - String parentPath = tofile.getParent(); - if (parentPath != null) - new File(parentPath).mkdirs(); - tofile.createNewFile(); - } - } - - - public long moveBytes(InputStream input, OutputStream output, long off, long len, int bufsize) - throws IOException { - if (off > 0) - input.skip(off); - - long totalNum = 0; - byte[] buf = new byte[bufsize]; - - while (true) { - if (len > 0 && (len - totalNum) <= 0) - break; - - else if (len > 0 && bufsize > (len - totalNum)) - bufsize = (int) (len - totalNum); - - int readNum = input.read(buf, 0, bufsize); - if (readNum <= 0) - break; - - output.write(buf, 0, readNum); - totalNum += readNum; - } - buf = null; - return totalNum; - } - + /** + * + */ + public void unCompress(String gzFileName, String toFile) throws IOException { + GZIPInputStream gzIn = null; + FileOutputStream fileOutput = null; + FileInputStream gzInput = new FileInputStream(gzFileName); + try { + gzIn = new GZIPInputStream(gzInput); + File tofile = new File(toFile); + enable(tofile); + fileOutput = new FileOutputStream(tofile, false); + + moveBytes(gzIn, fileOutput, -1, -1, 1024); + } finally { + if (gzIn != null) { + gzIn.close(); + } + if (fileOutput != null) { + fileOutput.close(); + } + + } + + } + + private void enable(File tofile) throws IOException { + if (!tofile.exists()) { + String parentPath = tofile.getParent(); + if (parentPath != null) + new File(parentPath).mkdirs(); + tofile.createNewFile(); + } + } + + public long moveBytes(InputStream input, OutputStream output, long off, long len, int bufsize) throws IOException { + long skipped=0; + if (off > 0) + skipped = input.skip(off); // check if skipped is same as off + + long totalNum = 0; + byte[] buf = new byte[bufsize]; + + while (true) { + if (len > 0 && (len - totalNum) <= 0) + break; + + else if (len > 0 && bufsize > (len - totalNum)) + bufsize = (int) (len - totalNum); + + int readNum = input.read(buf, 0, bufsize); + if (readNum <= 0) + break; + + output.write(buf, 0, readNum); + totalNum += readNum; + } + buf = null; + return totalNum; + } } \ No newline at end of file -- 2.16.6