Cambios en el JDK 1.1:
El ejemplo EchoTest

El ejemplo EchoTest utiliza dos veces el método DataInputStream.readLine. Este método ha sido anulado en el JDK 1.1 porque no convierte correctamente los bytes en caracteres. La mayoría de los programas que uitilizan DataInputStream.readLine pueden hacer un cambio sencillo para utilizar el mismo método de la nueva clase BufferedReader. Simplemente reemplaza el código de:
DataInputStream d = new DataInputStream(in);
con este:
BufferedReader d = new BufferedReader(new InputStreamReader(in));
EchoTest es uno de esos programas en los que se puede realizar este sencillo cambio. Aquí tienes la nueva versión de EchoTest:
import java.io.*;
import java.net.*;

public class EchoTest {
    public static void main(String[] args) {
        Socket echoSocket = null;
        DataOutputStream os = null;
        BufferedReader br = null;
	BufferedReader stdIn = new BufferedReader(
		new InputStreamReader(System.in));

        try {
            echoSocket = new Socket("taranis", 7);
            os = new DataOutputStream(echoSocket.getOutputStream());
            br = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: taranis");
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: taranis");
        }

        if (echoSocket != null && os != null && br != null) {
            try {
                String userInput;

                while ((userInput = stdIn.readLine()) != null) {
                    os.writeBytes(userInput);
                    os.writeByte('\n');
                    System.out.println("echo: " + br.readLine());
                }
                os.close();
                br.close();
                echoSocket.close();
            } catch (IOException e) {
                System.err.println("I/O failed on the connection to: taranis");
            }
        }
    }
}


Ozito