Programación en castellano
-Tutoriales

Trabajo en Red


Cambios en el JDK 1.1: El Ejemplo ReverseTest

El ejemplo ReverseTest tiene tres problemas.

Primero, utiliza el método DataInputStream.readLine que está caducado en el JDK 1.1 porque no convierte correctamente los bytes en caracteres. La mayoría de los programas que utilizan DataInputStream.readLine pueden hecer un sencillo cambio para utilizar el mismo método de la nueva clase BufferedReader. Simplemente reemplaza este código:

DataInputStream d = new DataInputStream(in);

por éste otro:

BufferedReader d = new BufferedReader(new InputStreamReader(in));

ReverseTest es uno de esos programas en los que se puede realizar este sencillo cambio.

Segundo, ReverseTest crea explícitamene un PrintStream para escribir en una URLConnection. Utilizar un PrintStream ha caducado en favor de PrintWriter.

Y finalmente, ReverseTest debe llamar al nuevo setDoOutput en su URLConnection para poder escribir en la conexión.

Aquí tienes la nueva versión de ReverseTest que corrige estos problemas:

import java.io.*;
import java.net.*;

public class ReverseTest {
    public static void main(String[] args) {
        try {
            if (args.length != 1) {
                System.err.println("Usage:  java ReverseTest string_to_reverse");
                System.exit(1);
            }
            String stringToReverse = URLEncoder.encode(args[0]);

            URL url = new URL("http://java.sun.com/cgi-bin/backwards");
            URLConnection connection = url.openConnection();
	    connection.setDoOutput(true);

            PrintWriter writer = new PrintWriter(connection.getOutputStream());
            writer.println("string=" + stringToReverse);
            writer.close();

            BufferedReader reader = new BufferedReader(
			new InputStreamReader(connection.getInputStream()));
            String inputLine;

            while ((inputLine = reader.readLine()) != null) {
                System.out.println(inputLine);
            }
            reader.close();
        } catch (MalformedURLException me) {
            System.err.println("MalformedURLException: " + me);
        } catch (IOException ioe) {
            System.err.println("IOException: " + ioe);
        }
    }
}
 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: jugar gratis | amor | navidad 2009 | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados