客户端为什么关闭输入流会报错
老师在上面关闭了socket的输出流,接下来的接收服务器响应的代码我发现没有关闭socket的输入流,于是我加了socket.shuntdownInput程序就会报错

package com.imooc;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client
{
public static void main(String[] args)
{
try
{
Socket sk=new Socket("localhost",8888);
OutputStream os=sk.getOutputStream();
PrintWriter pw=new PrintWriter(os);
pw.println("用户名:admin,密码:123456");
pw.flush();//刷新缓存
sk.shutdownOutput();
//创建输入流,接收服务端响应
InputStream is=sk.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String info=null;
while((info=br.readLine())!=null){
System.out.println("我是客户端,服务器说:"+info);
}
br.close();
is.close();
sk.shutdownInput();//关闭socket的输入流
pw.close();
os.close();
sk.close();
} catch (UnknownHostException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}