千家信息网

java如何使用Socket实现文件上传功能

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍了java如何使用Socket实现文件上传功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下文件上传的步骤
千家信息网最后更新 2025年11月11日java如何使用Socket实现文件上传功能

这篇文章主要介绍了java如何使用Socket实现文件上传功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体内容如下

文件上传的步骤:

服务器端步骤:

1、创建ServerSocket

2、调用accept获得客户端Socket

3、定义字节数组

4、创建文件输出流,获得客户端输入流

5、循环读取输入流的字节,写入到文件输出流

客户端步骤:

1、创建Socket

2、获得socket对象输出流

3、创建文件输入流

4、循环读取文件输入流字节,写入到输出流

代码实现:

服务器端:

public class FileServer {    public static final int PORT = 8888;    public static final String PATH = "D:\\upload\\";    public void start(){        System.out.println("start...");        try (   //创建服务器端对象                ServerSocket server = new ServerSocket(PORT);){            while (true){                Socket socket = server.accept();                try (   //创建文件输出流和网络输入流                        DataInputStream in = new DataInputStream(socket.getInputStream());                        //读取哭护短发来的文件名,创建文件输出流                        FileOutputStream out = new FileOutputStream(PATH+in.readUTF())){                        int len = 0;                        byte[] buffer = new byte[1024];                        while ((len = in.read(buffer)) != -1){                            out.write(buffer,0,len);                        }                    System.out.println("服务器保存完毕!");                }            }        } catch (IOException e) {            e.printStackTrace();        }    }    public static void main(String[] args) {        new FileServer().start();    }}

客户端:

public class FileClient {    /**     * 发送文件     */    public void sendFile(String ip,int port,String path){        File file = new File(path);        try (            //创建连接,创建文件输入流,网络输出流            Socket socket = new Socket(ip,port);            InputStream in = new FileInputStream(path);            DataOutputStream out = new DataOutputStream(socket.getOutputStream())){            //先发送文件给服务器            out.writeUTF(file.getName());            out.flush();            //读取本地文件,写入到网络输出流中            int len = 0;            byte[] buffer = new byte[1024];            while ((len  = in.read(buffer)) != -1){                out.write(buffer,0,len);            }            System.out.println("客户端发送完毕!");        } catch (UnknownHostException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }    public static void main(String[] args) {        new FileClient().sendFile("192.168.31.226",8888,"C:\\Users\\admin\\Desktop\\C.txt");    }}

实现效果:

感谢你能够认真阅读完这篇文章,希望小编分享的"java如何使用Socket实现文件上传功能"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 输出 输入 客户 客户端 服务器 服务 篇文章 字节 步骤 网络 功能 对象 循环 代码 价值 兴趣 内容 同时 效果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术难题 通信网络技术属于哪个学科 职工面临的网络安全风险有哪些 山东电商系统软件开发 山西潮流软件开发价格有哪些 清宇网络技术有限公司 如何更好地管理网络技术 人脸识别数据库结构 家用服务器需要插网线吗 服务器c盘可以扩容吗 南通定制软件开发 学软件开发要什么cpu 软件开发流程的三个阶段 终端在网络技术中什么意思 游戏软件开发基地 仓库管理软件开发用什么好 计算机网络技术专科要不要文科 为知笔记 网络技术有限公司 学术论文数据库属于A还是C 2021中国服务器市场份额排名 sap财务系统用的是什么数据库 宿城区个性化网络技术诚信合作 网络安全各个等级分化判断 电信5g服务器ip地址 视频存储服务器怎样取流 企业需不需要管理服务器 把数据放入数据库体积会变小拿 服务器忙怎么回事 洛阳市网络安全展览 socket 异步服务器
0