Cambios en el JDK 1.1: El ejemplo ListOfNumbers

El ejemplo ListOfNumbers escribe su salida en un PrintStream. Crear un objeto PrintStream está desfasado en el JDK 1.1 para asegurarse de que los programadores utilizan una nueva clase, PrintWriter, en vez de un PrintStream.

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");
            }
        }
    }
}


Ozito