Package io.jawk.jrt
Class JavaStringFormatAwkSink
java.lang.Object
io.jawk.jrt.AwkSink
io.jawk.jrt.OutputStreamAwkSink
io.jawk.jrt.JavaStringFormatAwkSink
Text
AwkSink whose printf and sprintf use Java's
standard String.format(Locale, String, Object...) instead of AWK's
formatting rules.
This gives AWK scripts access to Java's formatting capabilities, such as
%,d grouping, %(d negative parentheses, date/time
conversions (%tY), and generally faster formatting. In exchange,
the format string follows Formatter semantics, not POSIX
AWK: conversions must match the value's Java type. AWK numbers holding an
integral value reach String.format as Long, other numbers
as Double, and text as String, so %d requires an
integral value and %f a floating-point one; a mismatch raises Java's
IllegalFormatException. Input-derived values are passed
as plain strings, and uninitialized variables as Java null (which
Formatter renders as "null").
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionJavaStringFormatAwkSink(OutputStream outputStream) Creates a sink backed by anOutputStream.JavaStringFormatAwkSink(OutputStream outputStream, Locale locale) Creates a sink backed by anOutputStream.JavaStringFormatAwkSink(PrintStream printStream) Creates a sink backed directly by aPrintStream.JavaStringFormatAwkSink(PrintStream printStream, Locale locale) Creates a sink backed directly by aPrintStream. -
Method Summary
Methods inherited from class io.jawk.jrt.OutputStreamAwkSink
flush, getPrintStream, print, printf
-
Constructor Details
-
JavaStringFormatAwkSink
Creates a sink backed by anOutputStream.- Parameters:
outputStream- stream that should receive AWK output
-
JavaStringFormatAwkSink
Creates a sink backed by anOutputStream.- Parameters:
outputStream- stream that should receive AWK outputlocale- locale used for formatting
-
JavaStringFormatAwkSink
Creates a sink backed directly by aPrintStream.- Parameters:
printStream- stream that should receive AWK output
-
JavaStringFormatAwkSink
Creates a sink backed directly by aPrintStream.- Parameters:
printStream- stream that should receive AWK outputlocale- locale used for formatting
-
-
Method Details
-
sprintf
Formats with Java's standardString.format(Locale, String, Object...)instead of AWK's rules.convfmtis not used: number-to-string conversion follows the Java conversion in the format string.
-