X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fmain%2Fjustify.java;fp=src%2Fbe%2Fnikiroo%2Futils%2Fmain%2Fjustify.java;h=2a83389ea047f75838ce7c46b5e288aedb0f7d1c;hp=0000000000000000000000000000000000000000;hb=d46b7b96f94e88a776bcd2dfd756549ffb300cc9;hpb=c9994f27667bc421bcd448d39e55774fddf5c431 diff --git a/src/be/nikiroo/utils/main/justify.java b/src/be/nikiroo/utils/main/justify.java new file mode 100644 index 0000000..2a83389 --- /dev/null +++ b/src/be/nikiroo/utils/main/justify.java @@ -0,0 +1,53 @@ +package be.nikiroo.utils.main; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +import be.nikiroo.utils.StringUtils; +import be.nikiroo.utils.StringUtils.Alignment; + +/** + * Text justification (left, right, center, justify). + * + * @author niki + */ +public class justify { + /** + * Syntax: $0 ([left|right|center|justify]) (max width) + *

+ *

+ * + * @param args + */ + public static void main(String[] args) { + int width = -1; + StringUtils.Alignment align = Alignment.LEFT; + + if (args.length >= 1) { + align = Alignment.valueOf(args[0].toUpperCase()); + } + if (args.length >= 2) { + width = Integer.parseInt(args[1]); + } + + Scanner scan = new Scanner(System.in); + scan.useDelimiter("\r\n|[\r\n]"); + try { + List lines = new ArrayList(); + while (scan.hasNext()) { + lines.add(scan.next()); + } + + for (String line : StringUtils.justifyText(lines, width, align)) { + System.out.println(line); + } + } finally { + scan.close(); + } + } +}