zoukankan      html  css  js  c++  java
  • TCP传输过程复制文件

    /*
    需求:上传图片
    
    */
    
    /*
    客户端:
    1、建立服务
    2、读取客户端已有数据
    3、通过socket输出流,将数据发送到服务端
    4、通过socket读取流,读取服务端返回信息
    */
    import java.io.*;
    import java.net.*;
    import java.lang.Exception;
    class  PicClient
    {
    	public static void main(String[] args) throws Exception
    	{
    		Socket s = new Socket("222.49.250.147",10001);
    
    		FileInputStream fis = new FileInputStream("C:\1.jpg");
    		OutputStream os = s.getOutputStream();
    		byte[] buf =new byte[1024];
    		int len = 0;
    		while((len = fis.read(buf)) != -1)
    		{
    			os.write(buf,0,len);
    		}
    
    		//告诉服务端读入完毕
    		s.shutdownOutput();
    
    		//读取服务器端返回
    		InputStream is = s.getInputStream();
    		byte [] bufin = new byte[1024];
    		int num = is.read(bufin);
    		System.out.println(new String(buf,0,num));
    		fis.close();
    		s.close();
    	}
    }
    
    class PicServer
    {
    	public static void main(String [] args) throws Exception
    	{
    		ServerSocket ss = new ServerSocket(10001);
    		Socket s =ss.accept();
    		String ip = s.getInetAddress().getHostAddress();
    		System.out.println(ip + "connected");
    		InputStream is = s.getInputStream();
    		FileOutputStream fos = new FileOutputStream("D:\10.png");
    		byte[] buf =new byte[1024];
    		int len = 0;
    		while((len = is.read(buf)) != -1)
    		{
    			fos.write(buf,0,len);
    		}
    
    		//将信息返回给客户端
    		OutputStream os = s.getOutputStream();
    		os.write("上传成功".getBytes());
    		is.close();
    		fos.close();
    		os.close();
    	}
    }
    

  • 相关阅读:
    java8--- Optional使用
    java8--- (Function、Predicate、Consumer) 通用函数式接口
    java8--- Predicate 意义 代码
    Java8---函数式编程-示例
    java8-----lambda语法
    java8----Predicate接口的使用
    Windows 下安装 ElasticSearch 修改 elasticsearch.yml的坑
    kafka 安装教程
    list 转 map java8
    数组转字符串 java8
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258420.html
Copyright © 2011-2022 走看看