日期:2014-05-20  浏览次数:20606 次

到底printwriter中println方法与write方法有什么区别
请问一下,我下面的程序把带颜色的println改成printwriter中的write方法就不行了,到底printwriter中println方法与write方法有什么区别!非常感谢! 
这是服务器端程序:
import java.io.*;
import java.net.*;

public class talkserver
{
public static void main(String args[])
{
try
{
ServerSocket server = null;
try
{
server = new ServerSocket(4700);
}catch(Exception e)
{
System.out.println("can not listen to:" + e);
}
Socket socket = null;
try
{
socket = server.accept();
}catch(Exception e)
{
System.out.println("Error:" + e);
}
String line;
BufferedReader is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:" + is.readLine());
line = sin.readLine();
while (!line.equals("bye"))
{
os.println(line);
os.flush();
System.out.println("Server:" + line);
System.out.println("Client:" + is.readLine());
line = sin.readLine();
}

is.close();
os.close();
socket.close();
server.close();
}catch(Exception e)
{
System.out.println("Error" + e);
}
}
}
这是客户端:

import java.io.*;
import java.net.*;
public class talkclient
{
public static void main(String args[])
{
try
{
Socket socket = new Socket("127.0.0.1",4700);
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String readline;
readline = sin.readLine();
while (!readline.equals("bye"))
{
os.[color=#0000FF]println(readline);[/color]
os.flush();
System.out.println("Client:" + readline);
System.out.println("Server:" + is.readLine());
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
}catch(Exception e)
{
System.out.println("Error" + e);
}
}
}


------解决方案--------------------
这是print方法的源码

public void print(Object obj) {
write(String.valueOf(obj));
}

可以看到其实print方法就是调用write方法实现的,只不过将object转换成String了,其它的应该没有区别,建议你研究一下java源码。