Skip to content

Commit cea7522

Browse files
committed
Print converted size instead of percentage
1 parent 5ecf22c commit cea7522

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.vimasig</groupId>
55
<artifactId>Bozar</artifactId>
6-
<version>1.2.0</version>
6+
<version>1.2.1</version>
77
<properties>
88
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
99
<maven.compiler.source>14</maven.compiler.source>

src/main/java/com/vimasig/bozar/obfuscator/Bozar.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.vimasig.bozar.obfuscator.transformer.TransformManager;
44
import com.vimasig.bozar.obfuscator.utils.StreamUtils;
5+
import com.vimasig.bozar.obfuscator.utils.StringUtils;
56
import com.vimasig.bozar.obfuscator.utils.model.BozarConfig;
67
import com.vimasig.bozar.obfuscator.utils.model.BozarMessage;
78
import com.vimasig.bozar.obfuscator.utils.model.CustomClassWriter;
@@ -124,12 +125,9 @@ public void run() {
124125
log("Done. Took %ss", timeElapsed);
125126

126127
// File size information
127-
float rate = (float)output.toFile().length() / (float)input.length();
128-
float percentage = rate * 100 - 100;
129-
final String percentageStr = new DecimalFormat("##.##").format(Math.abs(percentage));
130-
if(percentage == 0) log("File size didn't change.");
131-
else if(percentage > 0) log("File size increased by %s%%", percentageStr);
132-
else log("File size decreased by %s%%", percentageStr);
128+
final String oldSize = StringUtils.getConvertedSize(input.length());
129+
final String newSize = StringUtils.getConvertedSize(output.toFile().length());
130+
log("File size changed from %s to %s", oldSize, newSize);
133131
} catch (IOException e) {
134132
e.printStackTrace();
135133
}

src/main/java/com/vimasig/bozar/obfuscator/utils/StringUtils.java

+17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.vimasig.bozar.obfuscator.utils;
22

3+
import java.text.CharacterIterator;
4+
import java.text.StringCharacterIterator;
35
import java.util.stream.Collectors;
46
import java.util.stream.IntStream;
57

@@ -12,4 +14,19 @@ public static String getAlphabet() {
1214
.map(String::valueOf)
1315
.collect(Collectors.joining());
1416
}
17+
18+
public static String getConvertedSize(long bytes) {
19+
long absB = bytes == Long.MIN_VALUE ? Long.MAX_VALUE : Math.abs(bytes);
20+
if (absB < 1024) {
21+
return bytes + " B";
22+
}
23+
long value = absB;
24+
CharacterIterator ci = new StringCharacterIterator("KMGTPE");
25+
for (int i = 40; i >= 0 && absB > 0xfffccccccccccccL >> i; i -= 10) {
26+
value >>= 10;
27+
ci.next();
28+
}
29+
value *= Long.signum(bytes);
30+
return String.format("%.1f %cB", value / 1024.0, ci.current());
31+
}
1532
}

0 commit comments

Comments
 (0)