Java基于BIO怎么实现文件上传功能
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章给大家介绍Java基于BIO怎么实现文件上传功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。客户端package com.qst.file;import java.io
千家信息网最后更新 2025年01月23日Java基于BIO怎么实现文件上传功能
这篇文章给大家介绍Java基于BIO怎么实现文件上传功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
客户端
package com.qst.file;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;public class Client { public static void main(String[] args) { try { // 获取输入流 FileInputStream stream = new FileInputStream("E:\\Java后端开发之路\\IO\\讲义\\a.txt"); // 请求与服务端进行建立连接 Socket socket = new Socket("127.0.0.1", 9999); // 字节输出流包装成一个数据输出流 DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); outputStream.writeUTF(".txt"); int len; byte[] b = new byte[1024]; while ((len = stream.read(b)) > 0) { outputStream.write(b, 0, len); } outputStream.flush(); // 通知服务端这边的数据发送完毕了 socket.shutdownOutput(); } catch (Exception e) { // TODO: handle exception } }}
服务端
package com.qst.file;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) throws IOException { // 建立服务器 ServerSocket socket = new ServerSocket(9999); Socket accept = socket.accept(); // 交给一个独立的线程来处理与这个客户端的文件通信需求。 new ServerThread(accept).start(); }}
服务端线程处理
package com.qst.file;import java.io.DataInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.util.UUID;public class ServerThread extends Thread{ private Socket socket; public ServerThread(Socket accept) { this.socket = accept; } @Override public void run() { try { // 得到一个数据输入流读取客户端发送过来的数据 DataInputStream stream = new DataInputStream(socket.getInputStream()); // 读取客户端发送过来的文件类型 String suffix = stream.readUTF(); System.out.println("服务端已经成功接收到了文件类型:" + suffix); // 定义一个字节输出管道负责把客户端发来的文件数据写出去 FileOutputStream stream2 = new FileOutputStream("E:\\Java后端开发之路\\IO\\讲义\\b.txt"+UUID.randomUUID().toString()+suffix); // 从数据输入流中读取文件数据,写出到字节输出流中去 byte [] b= new byte[1024]; int len; while((len = stream.read(b)) > 0) { stream2.write(b, 0, len); } System.out.println("操作完毕"); stream2.close(); stream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
关于Java基于BIO怎么实现文件上传功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文件
数据
服务
客户
客户端
输出
字节
输入
功能
内容
更多
类型
线程
讲义
之路
处理
帮助
开发
不错
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全的广播稿个人50字
互联网和科技公司有什么不同
csol连接服务器中断重新登陆
网吧抽奖软件开发
越秀软件开发哪家靠谱
宿迁互联网软件开发来电咨询
广西速风互联网科技
向哪咨询网络安全的问题
系统软件开发都有哪些步骤
python对象插入数据库
金融软件开发怎么样
数据库建表电话号码长度
沐芃科技专业软件开发
软件开发价格正规
安卓手机软件开发语言
连接外国服务器的软件
公共服务器一般用什么硬盘
fpga与软件开发
网络技术服务哪里好
软件开发各环节耗时
易助erp软件开发企业
湖北电子软件开发方案
黑色沙漠无法连接到修补服务器
网络配置服务器的地址在哪里
网络技术给物流带来的风险
阿里云服务器怎么赚钱
oralc数据库查询
宜兴信息软件开发优势
靠谱的erp分销软件开发设计
光馨网络技术