From 1d99b6513a66f26c3711db6517858b2441f50990 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Mon, 16 Dec 2019 21:05:29 +0100 Subject: [PATCH] Fix a few bugs with the progress % --- src/eu/steffo/cleaver/logic/ChopJob.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/eu/steffo/cleaver/logic/ChopJob.java b/src/eu/steffo/cleaver/logic/ChopJob.java index 718451b..59f3a2f 100644 --- a/src/eu/steffo/cleaver/logic/ChopJob.java +++ b/src/eu/steffo/cleaver/logic/ChopJob.java @@ -53,12 +53,12 @@ public class ChopJob extends Job { partSize = ((SplitBySizeConfig)splitConfig).getSize(); } else if(splitConfig instanceof SplitByPartsConfig) { - partSize = ((SplitByPartsConfig)splitConfig).getParts(); + partSize = file.length() / ((SplitByPartsConfig)splitConfig).getParts(); } else { partSize = file.length(); } - OutputStream outputStream = new SplitFileOutputStream(file.getName(), partSize); + OutputStream outputStream = new SplitFileOutputStream(file.getAbsolutePath(), partSize); if(compressConfig != null) { outputStream = new DeflaterOutputStream(outputStream); @@ -70,7 +70,7 @@ public class ChopJob extends Job { //Create the .chp file DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); + DocumentBuilder builder; try { builder = factory.newDocumentBuilder(); } catch (ParserConfigurationException e) { @@ -93,11 +93,11 @@ public class ChopJob extends Job { TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); - StreamResult result = new StreamResult(String.format("%s.chp", file.getName())); + StreamResult result = new StreamResult(String.format("%s.chp", file.getAbsolutePath())); transformer.transform(source, result); //Actually run the job - int bytesUntilNextUpdate = 1024; + int bytesUntilNextUpdate = 2048; this.setProgress(new WorkingProgress()); int i; @@ -105,8 +105,8 @@ public class ChopJob extends Job { outputStream.write(i); bytesUntilNextUpdate -= 1; if(bytesUntilNextUpdate <= 0) { - this.setProgress(new WorkingProgress((float)file.length() / (float)partSize)); - bytesUntilNextUpdate = 1024; + this.setProgress(new WorkingProgress((float)(file.length() - inputStream.available()) / (float)file.length())); + bytesUntilNextUpdate = 2048; } }