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

谁能刚给我解释一下类CopyServer中的while((line=brin.readLine())!=null)什么时候成立
import java.io.*;
import java.net.*;
class CopyDemo 
{
public static void main(String[] args) throws Exception
{
Socket s=new Socket("192.168.1.104",8888);
BufferedReader br=new BufferedReader(new FileReader("TcpTrans.java"));
PrintWriter pwout=new PrintWriter(s.getOutputStream(),true);
String line=null;

while((line=br.readLine())!=null)
{
pwout.println(line);
}
pwout.println("overs");

BufferedReader brin=new BufferedReader(new InputStreamReader(s.getInputStream()));
String str=brin.readLine();
System.out.println(str);
br.close();
brin.close();
s.close();
}
}
class CopyServer
{
public static void main(String[] ages) throws Exception
{
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
BufferedReader brin=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw=new PrintWriter(new FileWriter("1_副本.txt"),true);
String line=null;

while((line=brin.readLine())!=null)
{
if(line.equals("overs"))
break;
pw.println(line);
}

PrintWriter prout=new PrintWriter(s.getOutputStream(),true);
String str="上传成功";
prout.println(str);
s.close();
brin.close();

}
}
io

------解决方案--------------------
BufferedReader吗?
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
readLine
public String readLine()
                throws IOException读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。 

返回:
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 
抛出: 
IOException - 如果发生 I/O 错误


骚年,你需要一份JDK文档