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

服务器端:

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();
        }

    }

}
原文地址:https://www.cnblogs.com/diaozhaojian/p/5920628.html