java 网络流 TCP Socket和SeverSocket 上传文件(字节流)

本文提供了一个使用Java实现的简单TCP文件传输示例,包括客户端和服务端代码。客户端从指定路径读取文件,并通过TCP连接将文件发送到服务端;服务端接收文件并保存到指定路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端:

import java.io.*;
import java.net.DatagramPacket;
import java.net.Socket;
public class TCPSocket {
    public static void main(String[] args)  throws IOException{

        File file=new File("/Users/mac/java/kwd/1.avi");

        //客户端socket
        Socket s=new Socket("127.0.0.1",8888);

        //输入的文件
        FileInputStream fin=new FileInputStream(file);

        //设置数据包
        byte[] bytes=new byte[1024];

        //socket 发送流
        OutputStream out=s.getOutputStream();


        //输入数据
        int len=0;
        while((len=fin.read(bytes))!=-1)
        {
           out.write(bytes,0,len);
        }
        s.close();
        fin.close();
    }
}


服务端:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPSeverSocket {
    public static void main(String[] args)  throws IOException{

        File file=new File("/Users/mac/java/fwq/up.avi");
        //服务端socket
        ServerSocket s=new ServerSocket(8888);

        //获取客户端socket
        Socket ss=s.accept();

        //获取客户端的读取流
        InputStream in=ss.getInputStream();

        //设置数据包
        byte[] bytes=new byte[1024];

        //输出文件
        FileOutputStream fout=new FileOutputStream(file);
        //输入数据
        int len=0;
        while((len=in.read(bytes))!=-1)
        {
            fout.write(bytes,0,len);
        }
        s.close();
        ss.close();
        fout.close();
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值