diff --git a/src/main/org/apache/tools/ant/util/StringUtils.java b/src/main/org/apache/tools/ant/util/StringUtils.java index 14c91cad4..641455de1 100644 --- a/src/main/org/apache/tools/ant/util/StringUtils.java +++ b/src/main/org/apache/tools/ant/util/StringUtils.java @@ -26,6 +26,11 @@ import java.util.Vector; * */ public final class StringUtils { + private static final long KILOBYTE = 1024; + private static final long MEGABYTE = KILOBYTE * 1024; + private static final long GIGABYTE = MEGABYTE * 1024; + private static final long TERABYTE = GIGABYTE * 1024; + private static final long PETABYTE = TERABYTE * 1024; /** * constructor to stop anyone instantiating the class @@ -186,41 +191,38 @@ public final class StringUtils { } return b.toString(); } - + /** * Takes a human readable size representation eg 10K * a long value. Doesn't support 1.1K or other rational values. - * @param humanSize + * @param humanSize the amount as a human readable string. * @return a long value representation - * @throws Exception + * @throws Exception if there is a problem. * @since Ant 1.7 */ public static long parseHumanSizes(String humanSize) throws Exception { - final long KILOBYTE = 1024; - final long MEGABYTE = KILOBYTE * 1024; - final long GIGABYTE = MEGABYTE * 1024; - final long TERABYTE = GIGABYTE * 1024; - final long PETABYTE = TERABYTE * 1024; //last character isn't a digit - if(!Character.isDigit(humanSize.charAt(humanSize.length()-1))) { - char c = humanSize.charAt(humanSize.length()-1); - long value = Long.valueOf(humanSize.substring(0, humanSize.length()-1)).longValue(); - switch (c) { - case 'K': - return value * KILOBYTE; - case 'M': - return value * MEGABYTE; - case 'G': - return value * GIGABYTE; - case 'T': - return value * TERABYTE; - case 'P': - return value * PETABYTE; - default: - return value; - } - } else { - return Long.parseLong(humanSize); - } + if (!Character.isDigit(humanSize.charAt(humanSize.length() - 1))) { + char c = humanSize.charAt(humanSize.length() - 1); + long value = Long.valueOf( + humanSize.substring( + 0, humanSize.length() - 1)).longValue(); + switch (c) { + case 'K': + return value * KILOBYTE; + case 'M': + return value * MEGABYTE; + case 'G': + return value * GIGABYTE; + case 'T': + return value * TERABYTE; + case 'P': + return value * PETABYTE; + default: + return value; + } + } else { + return Long.parseLong(humanSize); + } } }