zoukankan      html  css  js  c++  java
  • TCP通信(上传文件)

    package demo04;
    
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    
    public class TCPclient {
        public static void main(String[] args) throws IOException {
            //1.创建socket对象,连接服务器
            Socket s =new Socket("127.0.0.1", 8765);
            //2.通过套接字获取输出流
            OutputStream out =s.getOutputStream();
            //3.获取数据源
            FileInputStream fis =new FileInputStream("D:\test\aaa.png");
            //4.读数据
            int len =0;
            byte [] b =new byte [1024];
            while((len =fis.read(b))!=-1){
                //写入目的地
                out.write(b,0,len);
            }
            s.shutdownOutput();
            //接受服务器回复
            InputStream in =s.getInputStream();
            len =in.read(b);
            System.out.println(new String(b ,0,len));
            //释放资源
            fis.close();
            s.close();
        }
    }
    package demo04;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.Random;
    
    import org.xml.sax.InputSource;
    
    public class TCPserver{
        public static void main(String[] args) throws IOException {
            //1.创建服务器套接字绑定接口
            ServerSocket ser =new ServerSocket(8765);
            //2.接受套接字对象
            Socket s =ser.accept();
            //3.获取输入流
            InputStream in =s.getInputStream();
            //4.获取文件夹,如果不存在就创建
            File f =new File("f:\aaa");
            if(!f.exists()){
                f.mkdirs();
            }
            //5.创建文件输出流
            String filename ="oracle"+System.currentTimeMillis()+new Random().nextInt(99999)+".png";
            FileOutputStream fos =new FileOutputStream(f+File.separator+filename);
            //6.写入数据
            byte  [] b =new byte [1024];
            int len =0;
            while((len =in.read(b))!=-1){
                fos.write(b,0,len);
            }
            //服务器给客服端回复(上传成功)
            OutputStream out=s.getOutputStream();
            out.write("上传成功".getBytes());
            //释放资源
            fos.close();
            s.close();
            ser.close();
        }
        
    }
  • 相关阅读:
    笔记(用Python做些事情)--变量(数字、字符串)
    笔记(用Python做些事情)--变量(日期和时间)
    服务设计-ETL-核心框架
    zookeeper-服务-应用
    HBASE-表设计-优化
    HBASE-读取数据-优化
    HBASE-数据写入-优化
    Zookeeper-客户端-zkclient-curator
    KAFKA-使用问题
    HBASE-Spark操作hbase数据-思考
  • 原文地址:https://www.cnblogs.com/Jxliu/p/9253425.html
Copyright © 2011-2022 走看看