InputStream del archivo, OutputStream a un archivo

Tengo este código en la clase principal:

IOUtil.readWrite(telnet.getInputStream(), telnet.getOutputStream(),
    System.in, System.out);

Esto funciona muy bien, ya que System.in obtiene las entradas del usuario nad System.out imprime todas las salidas.

Estaba tratando de cambiar esto, por lo que en lugar de System.in podría haber otro objeto InputStream que lea una línea de un archivo cada vez que solicite una entrada, y también System.out podría ser un Objeto que escriba toda la salida en un archivo.

La clase IOUtil es la siguiente:

package examples;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.net.io.Util;

public final class IOUtil
{

public  final static void readWrite(final InputStream remoteInput,
                                   final OutputStream remoteOutput,
                                   final InputStream localInput,
                                   final OutputStream localOutput)
{
    Thread reader, writer;

    reader = new Thread()
             {
                 public void run()
                 {
                     int ch;

                     try
                     {
                         while (!interrupted() && (ch = localInput.read()) != -1)
                         {
                             remoteOutput.write(ch);
                             remoteOutput.flush();
                         }
                     }
                     catch (IOException e)
                     {
                         //e.printStackTrace();
                     }
                 }
             }
             ;

    writer = new Thread()
             {
                 public void run()
                 {
                     try
                     {
                         Util.copyStream(remoteInput, localOutput);                                
                     }
                     catch (IOException e)
                     {
                         e.printStackTrace();
                         System.exit(1);
                     }
                 }
             };


    writer.setPriority(Thread.currentThread().getPriority() + 1);

    writer.start();
    reader.setDaemon(true);
    reader.start();

    try
    {
        writer.join();
        reader.interrupt();
    }
    catch (InterruptedException e)
    {
    }
}
Respuesta 1

He escrito un programa en Java que crea una conexión de socket para un juego en línea simple. El servidor es multicliente y tiene una lista de usuarios registrados. Cuando cierro el cliente, envía al servidor un ...

Estoy buscando una manera de mostrar las unidades del sistema en Mac OS X para utilizar un método que me permita mostrar la variación del espacio libre en las unidades debido a la eliminación o copia de archivos en el futuro. Te explico mejor: si yo ...

¿Alguien sabe si netbeans utiliza de forma predeterminada el servidor hotspot vm? Estoy tratando de averiguar si esa sería una opción de no hacerlo. ¡Gracias! -roger-

Recibo este error cada vez más, y se está volviendo más pegajoso, más difícil de eliminar. A menudo, refrescando el proyecto en la vista del explorador (pero no haciendo el truco ahora), o hurgando con algunos ...