Trabajo en Red

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

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP