• 从客户端复制文件到服务器


    服务器端:

    package com.hanqi.test;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Testserver1 {
    
        public static void main(String[] args) {
            // 建立服务器,启动监听
            
            
            try {
                System.out.println("服务器启动");
                
                ServerSocket ss3=new ServerSocket(83);
                
                Socket sc=ss3.accept();
                
                System.out.println("服务器收到客户连接请求。");
                //从客户端获取文件数据
                InputStream in=sc.getInputStream();
                //将读取的文件写入e盘
                FileOutputStream out=new FileOutputStream("e:/test.rar");
                //边度边写
        
                byte[]b=new byte[1024];
                
                int i=0;
                while((i=in.read(b))>0)
                {
                    out.write(b, 0, i);
                }
                out.close();
                in.close();
                sc.close();
                ss3.close();
                System.out.println("复制成功");
                
                
            } catch (IOException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            } 
    
        }
    
    }

    客户端:

    package com.hanqi.test;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    public class TestClient2 {
    
        public static void main(String[] args) {
            // 客户端
            
            try {
                Socket sc=new Socket("127.0.0.1", 83);
                //客户端链接服务器成功
                //向客户端发送文件数据
                OutputStream out=sc.getOutputStream();
                //从本地读取文件
                FileInputStream in=new FileInputStream("d:/ceshi.txt");
                //边度边写
                byte[]b1=new byte[1024];
                int i=0;
                while((i=in.read(b1))>0)
                {
                   out.write(b1, 0, i);
                }
                
                System.out.println("发送完毕");
                
                in.close();
                out.close();
                sc.close();
    
            } catch (UnknownHostException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            } catch (IOException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
    
        }
    
    }
  • 相关阅读:
    Java-IO流-简介
    Java-异常处理-自定义异常
    致橡树-舒婷
    js字符串/数组常用方法总结
    使用vue-cli4快速搭建vue项目demo
    使用vue-cli4快速搭建vue项目demo
    小白第一次用MacOS
    文字背景对比度contrast ratio的计算公式
    如何使用 v-model 绑定一个 computed 属性?
    Java基础--数组
  • 原文地址:https://www.cnblogs.com/diaozhaojian/p/5920628.html
Copyright © 2020-2023  润新知