IO telnet 中文问题
下面是TcpServer类启动 Servicer 类,Servicer 类InputStream ips = s.getInputStream();和OutputStream ops = s.getOutputStream();进行输入输出。英文都没有问题就是中文不行。我把InputStream和OutputStream多次更改都不行。我是在命令行用 telnet 127.0.0.1 8001 做测试的。不知那位知道中文不行的原因。谢谢
*******************************************************************
package java9;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(8001);
while (true) {
Socket s = ss.accept();
new Thread(new Servicer(s)).start();
}
} catch (Exception e) {
}
}
}
****************************************************************
package java9;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class Servicer implements Runnable {
Socket s;
public Servicer(Socket s) {
this.s = s;
}
public void run() {
try {
InputStream ips = s.getInputStream();
OutputStream ops = s.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(ips));
DataOutputStream dos = new DataOutputStream(ops);
while (true) {
dos.writeBytes("welcome, please enter--中文出错:");
String strWord = br.readLine();
dos.writeBytes(strWord);
br.close();
dos.close();
s.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}