|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.io.Writer | +--java.io.PrintWriter | +--cformat.PrintfWriter
Writer class to output primitive types using C printf
style
formatting. For each primitive type (float, double, char, int, long,
String), there is a printf
method which takes (as a first
argument) a printf
style format string.
Because Java does not permit variable numbers of arguments, each
printf
function accepts only one primitive type, and the
formats can correspondingly contain only one conversion
sequence.
For example, suppose we wish to print a list of names and numbers
according to the printf format "%s, %8.2f"
. This can
be done as follows:
String[] names = ... double[] score = ... PrintfWriter w = new PrintfWriter (writer); for (int i=0; i<1000; i++) { w.printf ("%s, ", names[i]); w.printf ("%8.2f", score[i]); }
Instead of a format string, one can instead use a pre-parsed
PrintfFormat
object which
is created from a format string. This will be more efficient
when a lot of output is required:
double[] bigVector = new double[1000]; PrintfWriter w = new PrintfWriter (writer); PrintfFormat fmt = new PrintfFormat ("%8.2f"); for (int i=0; i<1000; i++) { w.printf (fmt, bigVector[i]); }
Finally, PrintfFormat
can be used
to perform the conversion directly, via its
tostr
method:
PrintfFormat fmt = new PrintfFormat ("%8.2f"); for (int i=0; i<1000; i++) { System.out.println (fmt.tostr(bigVector[i])); }
PrintfFormat
,
PrintfStream
Constructor Summary | |
PrintfWriter(java.io.OutputStream out)
Creates a PrintfWriter, without automatic line flushing, from an existing OutputStream. |
|
PrintfWriter(java.io.OutputStream out,
boolean autoFlush)
Creates a PrintfWriter from an existing OutputStream. |
|
PrintfWriter(java.io.Writer out)
Creates a PrintfWriter, without automatic line flushing, from an existing Writer. |
|
PrintfWriter(java.io.Writer out,
boolean autoFlush)
Creates a PrintfWriter from an existing Writer. |
Method Summary | |
void |
printf(PrintfFormat fmt,
char x)
Prints a char in accordance with the supplied PrintfFormat object. |
void |
printf(PrintfFormat fmt,
double x)
Prints a double in accordance with the supplied PrintfFormat object. |
void |
printf(PrintfFormat fmt,
float x)
Prints a float in accordance with the supplied PrintfFormat object. |
void |
printf(PrintfFormat fmt,
int x)
Prints an int in accordance with the supplied PrintfFormat object. |
void |
printf(PrintfFormat fmt,
long x)
Prints a long in accordance with the supplied PrintfFormat object. |
void |
printf(PrintfFormat fmt,
java.lang.String x)
Prints a String in accordance with the supplied PrintfFormat object. |
void |
printf(java.lang.String fs,
char x)
Prints a char in accordance with the supplied format string. |
void |
printf(java.lang.String fs,
double x)
Prints a double in accordance with the supplied format string. |
void |
printf(java.lang.String fs,
float x)
Prints a float in accordance with the supplied format string. |
void |
printf(java.lang.String fs,
int x)
Prints an int in accordance with the supplied format string. |
void |
printf(java.lang.String fs,
long x)
Prints a long in accordance with the supplied format string. |
void |
printf(java.lang.String fs,
java.lang.String x)
Prints a String in accordance with the supplied format string. |
Methods inherited from class java.io.PrintWriter |
checkError, close, flush, print, print, print, print, print, print, print, print, print, println, println, println, println, println, println, println, println, println, println, write, write, write, write, write |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public PrintfWriter(java.io.OutputStream out)
out
- An output streampublic PrintfWriter(java.io.OutputStream out, boolean autoFlush)
out
- An output streamautoFlush
- If true, specifies that output flushing will
automatically occur when the println() methods are called.public PrintfWriter(java.io.Writer out)
out
- A writerpublic PrintfWriter(java.io.Writer out, boolean autoFlush)
out
- A writerautoFlush
- If true, specifies that output flushing will
automatically occur when the println() methods are called.Method Detail |
public void printf(java.lang.String fs, double x)
fs
- Format stringx
- Double to output
java.lang.IllegalArgumentException
- Malformed format stringpublic void printf(java.lang.String fs, float x)
fs
- Format stringx
- Float to output
java.lang.IllegalArgumentException
- Malformed format stringpublic void printf(java.lang.String fs, long x)
fs
- Format stringx
- Long to output
java.lang.IllegalArgumentException
- Malformed format stringpublic void printf(java.lang.String fs, int x)
fs
- Format stringx
- Int to output
java.lang.IllegalArgumentException
- Malformed format stringpublic void printf(java.lang.String fs, java.lang.String x)
fs
- Format stringx
- String to output
java.lang.IllegalArgumentException
- Malformed format stringpublic void printf(java.lang.String fs, char x)
fs
- Format stringx
- Char to output
java.lang.IllegalArgumentException
- Malformed format stringpublic void printf(PrintfFormat fmt, double x)
fmt
- Formatting objectx
- Double to outputPrintfFormat
public void printf(PrintfFormat fmt, float x)
fmt
- Formatting objectx
- Float to outputPrintfFormat
public void printf(PrintfFormat fmt, long x)
fmt
- Formatting objectx
- Long to outputPrintfFormat
public void printf(PrintfFormat fmt, int x)
fmt
- Formatting objectx
- Int to outputPrintfFormat
public void printf(PrintfFormat fmt, java.lang.String x)
fmt
- Formatting objectx
- String to outputPrintfFormat
public void printf(PrintfFormat fmt, char x)
fmt
- Formatting objectx
- Char to outputPrintfFormat
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |