Java - Konvertiert die vom Menschen lesbare Größe in Bytes

Ich habe viele Informationen zum Konvertieren von unformatierten Byte-Informationen in ein für Menschen lesbares Format gefunden, aber ich muss das Gegenteil tun, dh den String "1.6 GB" in den Long-Wert 1717990000 konvertieren. definierter Weg, dies zu tun, oder muss ich so ziemlich meinen eigenen rollen?

[Bearbeiten]: Hier ist mein erster Stich ...

static class ByteFormat extends NumberFormat {
    @Override
    public StringBuffer format(double arg0, StringBuffer arg1, FieldPosition arg2) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public StringBuffer format(long arg0, StringBuffer arg1, FieldPosition arg2) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Number parse(String arg0, ParsePosition arg1) {
        return parse (arg0);
    }

    @Override
    public Number parse(String arg0) {
        int spaceNdx = arg0.indexOf(" ");
        double ret = Double.parseDouble(arg0.substring(0, spaceNdx));
        String unit = arg0.substring(spaceNdx + 1);
        int factor = 0;
        if (unit.equals("GB")) {
            factor = 1073741824;
        }
        else if (unit.equals("MB")) {
            factor = 1048576;
        }
        else if (unit.equals("KB")) {
            factor = 1024;
        }

        return ret * factor;
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage