2 import java.io.PrintWriter;
4 import java.io.OutputStream;
7 public class CodePrinter extends PrintWriter {
9 boolean seenChar=false;
10 StringBuffer sb=new StringBuffer();
11 public CodePrinter(Writer w) {
15 public CodePrinter(Writer w, boolean af) {
19 public CodePrinter(File w) throws java.io.FileNotFoundException {
23 public CodePrinter(OutputStream w) {
27 public CodePrinter(OutputStream w, boolean af) {
31 StringBuffer genSpacing() {
32 StringBuffer sb=new StringBuffer();
33 for(int i=0; i<braceCount; i++)
38 public void println() {
42 public void println(boolean x) {
46 public void println(char x) {
50 public void println(char[] x) {
54 public void println(double x) {
58 public void println(float x) {
62 public void println(int x) {
66 public void println(Object x) {
70 public void println(String x) {
74 public void print(boolean x) {
78 public void print(char x) {
79 addString(String.valueOf(x));
82 public void print(char[] x) {
83 addString(String.valueOf(x));
86 public void print(double x) {
87 addString(String.valueOf(x));
90 public void print(float x) {
91 addString(String.valueOf(x));
94 public void print(int x) {
95 addString(String.valueOf(x));
98 public void print(Object x) {
99 addString(String.valueOf(x));
102 public void print(String x) {
106 public void write(String x) {
110 public void write(char[] x) {
111 addString(new String(x));
114 public void addString(String str) {
115 char[] string = str.toCharArray();
118 for (int i = 0; i < string.length; i++) {
124 sb.append(string, lastcr, (i - lastcr) + 1);
125 super.write(sb.toString());
127 lastcr = i + 1; // skip carriage return
139 // fix up close brace...
146 // skip leading whitespace
155 if (lastcr < string.length) {
157 sb.append(string, lastcr, string.length - lastcr);
161 public void flush() {
162 super.write(sb.toString());
167 public void close() {
168 super.write(sb.toString());