• Intro Headers Instructions Macros Commands
  • Fork me on GitHub
    • Introduction
    • How to install bnd
    • Guided Tour
    • Guided Tour Workspace & Projects
    • Concepts
    • Best practices
    • Build
    • Project Setup
    • Generating JARs
    • Versioning
    • Baselining
    • Service Components
    • Metatype
    • Contracts
    • Bundle Annotations
    • Accessor Properties
    • SPI Annotations
    • Resolving Dependencies
    • Launching
    • Startlevels
    • Testing
    • Testing with Launchpad
    • Packaging Applications
    • JPMS Libraries
    • Wrapping Libraries to OSGi Bundles
    • Generating Documentation
    • Commands
    • For Developers
    • Tips for Windows users
    • Tools bound to bnd
    • Headers
    • Instruction Reference
    • Instruction Index
    • Macro Reference
    • Macro Index
    • Plugins
    • External Plugins
    • Settings
    • Errors
    • Warnings
    • Frequently Asked Questions
  • bytes ( ';' LONG )*

    /**
     * Format bytes
     */
    public String _bytes(String[] args) {
        try (Formatter sb = new Formatter()) {
            for (int i = 0; i < args.length; i++) {
                long l = Long.parseLong(args[1]);
                bytes(sb, l, 0, new String[] {
                    "b", "Kb", "Mb", "Gb", "Tb", "Pb", "Eb", "Zb", "Yb", "Bb", "Geopbyte"
                });
            }
            return sb.toString();
        }
    }
    
    private void bytes(Formatter sb, double l, int i, String[] strings) {
        if (l > 1024 && i < strings.length - 1) {
            bytes(sb, l / 1024, i + 1, strings);
            return;
        }
        l = Math.round(l * 10) / 10;
        sb.format("%s %s", l, strings[i]);
    }
    
    • GitHub