客户端
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) { } } }}
}