我试了几个方法都没有找到判断结束条件,但是不影响接收数据。
public class Brown {
public static void main(String args[]){
Socket socket=null;
OutputStream outputStream=null;
InputStream inputStream=null;
InputStreamReader reader=null;
BufferedReader bufferedReader=null;
ByteArrayOutputStream bytearray=null;
try{socket=new Socket("www.baidu.com",80);
outputStream=socket.getOutputStream();
String request="GET / HTTP/1.1\n HOST:www.baidu.com:80\n\n";
outputStream.write(request.getBytes());
bytearray=new ByteArrayOutputStream();
inputStream=socket.getInputStream();
reader=new InputStreamReader(inputStream);
bufferedReader=new BufferedReader(reader);
String line="0";
while(line!=null){
line=bufferedReader.readLine();
System.out.println(line);}
}
catch(UnknownHostException e){System.out.println(1);}
catch(IOException e){System.out.println(2);}
finally{
try{bytearray.close();
outputStream.close();socket.close();bufferedReader.close();reader.close();inputStream.close();
}
catch(Exception e){e.printStackTrace(); }
}
}
}