socket.closed 异常,在使用BufferedInputStream/BufferedOutputStream 写入字节/字符内容时,记得flush,否则会出现异常。如代码所示
String ImagePath = "E:\\mylove.jpg";
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(ImagePath));
//读、写 文件
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(socket.getOutputStream());
byte[] buf = new byte[1024];
int readLen = 0; //边读边写
while((readLen = bufferedInputStream.read(buf)) != -1){
bufferedOutputStream.write(buf, 0, readLen);
bufferedOutputStream.flush(); //缓冲流(在套接字中的输出流)写出 必须flush 否则会抛异常
}