public static long parse(String sizeString) { return parse(sizeString, null); } public static long parse(String sizeString, String defaultUnits) {
public static long parse(String sizeString, String defaultUnits) { return parse(sizeString, defaultUnits, null); } /** parses the given string as a byte size string, e.g. "4gb"
private Long parseSizeString(Object obj, String defaultUnit) { if (obj == null) return null; return ByteSizeStrings.parse(Strings.toString(obj), defaultUnit); }
public void testParse() { assertEquals(ByteSizeStrings.parse("1", "k"), 1024); assertEquals(ByteSizeStrings.parse("1b"), 1); assertEquals(ByteSizeStrings.parse("1k"), 1024); assertEquals(ByteSizeStrings.parse("1m"), 1024*1024); assertEquals(ByteSizeStrings.parse("1g"), 1024*1024*1024); assertEquals(ByteSizeStrings.parse("1t"), 1024L*1024*1024*1024); assertEquals(ByteSizeStrings.parse("64.0 KiB"), 65536); assertEquals(ByteSizeStrings.parse("64.0 KB"), 64000); assertEquals(ByteSizeStrings.parse("64.0k"), 65536); assertEquals(ByteSizeStrings.parse("64k"), 65536); assertEquals(ByteSizeStrings.parse("64 k"), 65536); assertEquals(ByteSizeStrings.parse("0.5t"), 512L*1024*1024*1024); assertEquals(ByteSizeStrings.parse("1", "k"), 1024); assertEquals(ByteSizeStrings.parse("1k", "m"), 1024); assertEquals(ByteSizeStrings.parse("1k", "m", ByteSizeStrings.metric()), 1000);