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); }

HTTPS加密协议端口默认是多少且是否支持更换端口访问

看到群里网友们在讨论由于不清楚的原因,有同学的网站无法访问。他的网站是没有用HTTPS的,直接访问他的HTTP是无法访问的,通过PING测试可以看到解析地址已经比较乱,应该是所谓的DNS污染。其中有网友提到采用HTTPS加密证书试试。因为HTTP和HTTPS走的不是一个端口,之前有网友这样测试过是可以缓解这样的问题。这样通过将网站绑定设置HTTPS之后,是可以打开的,看来网站的80端口出现问题,而...

GigsGigsCloud:$16/月KVM-1GB/30GB/1TB/1.6T高防/洛杉矶CN2 GIA+AS9929

GigsGigsCloud是一家成立于2015年老牌国外主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,绝大部分系列产品中国访问速度不错,比如洛杉矶机房有CN2 GIA、AS9929及高防线路等。目前Los Angeles - SimpleCloud with Premium China DDOS Protectio...

腾讯云2核4GB内存8M带宽 年74元

一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...

java文件传输为你推荐
tdetde在国际贸易中的用词代表什么意思vga接口定义主板VGA接口两排针脚的循序是怎么排列模式识别算法算法是编程么?考研学模式识别方向,编程多么?模式识别算法机器学习和模式识别有什么区别?看教材,发现它们的算法都差不多一样啊。。。币众筹众筹是什么意思labelforhtml标签中lable的for属性有什么作用?kjavaJava与KJava有什么区别吗.?移动硬盘文件或目录损坏且无法读取急:移动硬盘无法访问,打开提示”文件或目录损坏且无法读取”收费视频微信里的视频通话是怎么收费 ?人脸识别解锁iphone人脸识别解锁
免费二级域名 手机域名注册 美国vps评测 泛域名解析 万网域名解析 locvps 息壤备案 狗爹 kdata paypal认证 shopex空间 日本空间 三拼域名 dd444 qingyun 创梦 七夕快乐英文 速度云 绍兴电信 外贸空间 更多