java文件传输用Java编写文件传输模块

java文件传输  时间:2021-06-11  阅读:()

用Java实现在两台电脑之间的文件传输

使用Socket可以做到,不过直接编程一般都是在局域网内,如果要在不同局域网间通信,需要使用一台有公网IP的服务器,可以电脑A和电脑B同时连接服务器,然后A向服务器传递文件,服务器再将文件转发电脑B。

也可以使用打洞的方式使A、B互联,此时服务器的作用是辅助打洞。

A、B向服务器发送信息后socket不要关闭(假设使用10989端口),同时使用Serversocket绑定监听相同的端口(监听10989端口)。

在java中有参数可以做到,具体方法请自行百度。

服务器获取到A、B的外网地址和端口,将A的外网地址信息发送给B、将B的外网地址信息发送给A。

然后使用A没有关闭的Socket向B发送一组信息(此时连接会失败,但是B的路由表上已经记录了A的信息),发送后A向服务器发送消息,服务器告诉B A已经发送消息。

然后B使用未关闭的socket向A发送消息,就和A上监听的ServerSocket取得连接了。

之后就可以互相传递数据。

有关java聊天软件中的文件传输功能构架?

实现Serialiable接口把file对象传过来,然后根据file对象的信息创建一个file文件

再用I/O流把file文件里的内容也通work传过来写入到传过来的那个文件中,加我QQ313633254

具体教你

用Java编写文件传输模块

import java.io.*; import java.nio.*; import java.nio.channels.FileChannel; public class javaTest { public static void main(String[] args) { String file1=System.getProperty("user.dir")+"/1.txt";//文件,自己修改 FileInputStream myFile = null; try { myFile = new FileInputStream(file1); // } catch(FileNotFoundException e) { e.printStackTrace(System.err); System.exit(1); } FileChannel myChannel = myFile.getChannel(); //这里定义缓冲区大小,每次读入字节数 ByteBuffer mybuf = ByteBuffer.allocate(1024); try { while(myChannel.read(mybuf) != -1) { byte[] mybytes = mybuf.array();//读入的文件转为字节数组 mybuf.clear(); /** * 在这里进行比较 * 可以通过字节对比 * 也可以把字节转成字符串再对比 * */ } myFile.close(); }catch(IOException e) { e.printStackTrace(System.err); System.exit(1); }

HostYun 新增可选洛杉矶/日本机房 全场9折月付19.8元起

关于HostYun主机商在之前也有几次分享,这个前身是我们可能熟悉的小众的HostShare商家,主要就是提供廉价主机,那时候官方还声称选择这个品牌的机器不要用于正式生产项目,如今这个品牌重新转变成Hostyun。目前提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路,访问质量不错。今天和大家分享下...

pacificrack:VPS降价,SSD价格下降

之前几个月由于CHIA挖矿导致全球固态硬盘的价格疯涨,如今硬盘挖矿基本上已死,硬盘的价格基本上恢复到常规价位,所以,pacificrack决定对全系Cloud server进行价格调整,降幅较大,“如果您是老用户,请通过续费管理或升级套餐,获取同步到最新的定价”。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款VPS特征:基于KVM虚拟,纯SSD raid...

星梦云-年中四川100G高防云主机月付仅60元,西南高防月付特价活动,,买到就是赚到!

官方网站:点击访问星梦云活动官网活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50G10Mbps1个100G不限流量210元/月 99元/月点击自助购买成都电信优化线路8vCPU8G40G+100G15Mbps1个100G不限流量370元/月 160元/月点击自助购买成都电信优化线路16vCPU16G40G+100G20Mb...

java文件传输为你推荐
病历单我想单位请了病假,但是我没病。但单位要必须要病历单,我怎么办?到了医院我说我什么病?视频技术视频制作有前途吗oa办公系统下载完全免费的oa办公系统腾讯汽车网可以了解汽车知识的权威网站大概有哪些网络审计网络安全审计系统的背景人肉搜索引擎怎样使用人肉搜索引擎?jstz泰州哪里有民工市场天翼校园宽带中国电信校园宽带怎么样?超级播放器一共有哪些播放器?kjava谁能告诉我KJAVA是什么意思和普通的JAVA程序有什么区别?
网通vps 香港vps99idc simcentric ssh帐号 网通代理服务器 七夕快乐英文 169邮箱 泉州电信 qq对话框 稳定免费空间 免费cdn 支付宝扫码领红包 支持外链的相册 无限流量 架设邮件服务器 沈阳主机托管 石家庄服务器托管 工信部网站备案查询 阿里云邮箱登陆 阿里dns 更多