客户端
package com.ZXF.Net;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
public class TcpClientDemo1 {

public static void main(String[] args) {    Socket socket=null;    OutputStream os=null;    FileInputStream fis=null;    InputStream is=null;    ByteArrayOutputStream baos=null;    try {        //1.创立一个socket连贯        socket=new Socket(InetAddress.getByName("127.0.0.1"),9000);        //2.创立一个输入流         os=socket.getOutputStream();         //3.读取文件         fis=new FileInputStream(new File("林允儿.jpg"));         //4.写出文件        byte[] buffer=new byte[1024];        int len=-1;        while ((len=fis.read(buffer))!=-1){            os.write(buffer,0,len);        }        //告诉服务端,我已完结        socket.shutdownOutput();//我曾经传输完了        //确认服务器接管实现,[WebMoney下载](https://www.gendan5.com/wallet/WebMoney.html)能力断开连接        is=socket.getInputStream();        //因为服务发过来的确认信息是字符数组,所以创立数组管道流        baos=new ByteArrayOutputStream();        byte[] buffer2=new byte[2014];        int len2=-1;        while ((len2=is.read(buffer2))!=-1){            baos.write(buffer2,0,len2);        }        System.out.println(baos.toString());    } catch (IOException e) {        e.printStackTrace();    }    finally {        //敞开资源,先开后关        if (baos!=null){            try {                baos.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if (is!=null){            try {                is.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if (fis!=null){            try {                fis.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if (os!=null){            try {                fis.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if (socket!=null){            try {                fis.close();            } catch (IOException e) {            }        }    }}

}