La clase PrintWriter es muy similar a la clase PrintStream, y en el caso del ejemplo ListOfNumbers, se puede utilizar un PrintWriter en vez de un PrintStream sin otros cambios en el código. Aquí tienes una versión del JDK 1.1 del ejemplo ListOfNumbers:
import java.io.*;
import java.util.Vector;
class ListOfNumbers {
private Vector victor;
final int size = 10;
public ListOfNumbers () {
int i;
victor = new Vector(size);
for (i = 0; i < size; i++)
victor.addElement(new Integer(i));
}
public void writeList() {
PrintWriter pWriter = null;
try {
int i;
System.out.println("Entering try statement");
pWriter = new PrintWriter(
new BufferedOutputStream(
new FileOutputStream("OutFile.txt")));
for (i = 0; i < size; i++)
pWriter.println("Value at: " + i + " = " + victor.elementAt(i));
} catch (ArrayIndexOutOfBoundsException e) {
System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage());
} catch (IOException e) {
System.err.println("Caught IOException: " + e.getMessage());
} finally {
if (pWriter != null) {
System.out.println("Closing PrintWriter");
pWriter.close();
} else {
System.out.println("PrintWriter not open");
}
}
}
}