Problema con Streams y símbolos especiales
Publicado por Raúl (2 intervenciones) el 12/05/2016 14:46:18
Hola.
Cuando comunico dos aplicaciones utilizando Streams, siempre tengo el problema de las eñes y las tildes (entre otros símbolos) ya que no consigo enviarlas y/o recibirlas bien.
Por ejemplo, dejo el código de dos aplicaciones: una lee un fichero y se lo envía a otra utilizando sockets:
Aplicación que lee el fichero y lo envía:
Socket clienteSocket = new Socket();
InetSocketAddress addr = new InetSocketAddress("localhost", 5555);
clienteSocket.connect(addr);
OutputStream os = clienteSocket.getOutputStream();
BufferedReader br = new BufferedReader (new FileReader("c:\\fichero.txt"));
PrintWriter pw = new PrintWriter (os, true);
while (br.ready()) {
String line = br.readLine();
pw.println(line);
}
clienteSocket.close();
Aplicación que recibe el contenido:
try {
ServerSocket serverSocket = new ServerSocket();
InetSocketAddress addr = new InetSocketAddress("localhost", 5555);
serverSocket.bind(addr);
Socket newSocket = serverSocket.accept();
System.out.println("Conexión recibida");
InputStream is = newSocket.getInputStream();
BufferedReader br = new BufferedReader (new InputStreamReader(is));
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
newSocket.close();
serverSocket.close();
}
catch (IOException e) {
e.printStackTrace();
}
Muchas gracias!!
Cuando comunico dos aplicaciones utilizando Streams, siempre tengo el problema de las eñes y las tildes (entre otros símbolos) ya que no consigo enviarlas y/o recibirlas bien.
Por ejemplo, dejo el código de dos aplicaciones: una lee un fichero y se lo envía a otra utilizando sockets:
Aplicación que lee el fichero y lo envía:
Socket clienteSocket = new Socket();
InetSocketAddress addr = new InetSocketAddress("localhost", 5555);
clienteSocket.connect(addr);
OutputStream os = clienteSocket.getOutputStream();
BufferedReader br = new BufferedReader (new FileReader("c:\\fichero.txt"));
PrintWriter pw = new PrintWriter (os, true);
while (br.ready()) {
String line = br.readLine();
pw.println(line);
}
clienteSocket.close();
Aplicación que recibe el contenido:
try {
ServerSocket serverSocket = new ServerSocket();
InetSocketAddress addr = new InetSocketAddress("localhost", 5555);
serverSocket.bind(addr);
Socket newSocket = serverSocket.accept();
System.out.println("Conexión recibida");
InputStream is = newSocket.getInputStream();
BufferedReader br = new BufferedReader (new InputStreamReader(is));
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
newSocket.close();
serverSocket.close();
}
catch (IOException e) {
e.printStackTrace();
}
Muchas gracias!!
Valora esta pregunta


0