Java基于BIO怎么实现文件上传功能
发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,这篇文章给大家介绍Java基于BIO怎么实现文件上传功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。客户端package com.qst.file;import java.io
千家信息网最后更新 2024年09月30日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安全错误
数据库的锁怎样保障安全
怀旧服联盟单边服务器有哪些
公共互联网网络安全重大事件
关于网络安全的绘画六年级
广州软件开发者费用
数据库创建自定义文件组
软件开发计算机学校
混乱服务器生存方式
数据库对比软件
阿里云服务器卡顿
服务器硬盘空间怎么扩容
win10 读取ftp服务器
没有数据库能进入网站吗
数据库用户创建
同时在线千人服务器
帐户校验失败(服务器出错)
什么网络技术可以定位终端
学习数据库与安全的体会
数据库连表查询语句
网络安全卫士的手抄报
医学excel数据库
株洲哪里有软件开发
服务器的保存时间
dlna服务器搭建
微信加名片显示服务器忙
软件开发新员工入职培训课程
核设施工控网络安全研究院
黄冈软件开发培训
怎么打开数据库安全性
服务器 cpu
带光电隔离的服务器有哪些