java文件传输如何用java传输文件谁知道这个程序呀?

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

java初级做一个传输文件的程序

思路: 用.Socket和 .ServerSocket建立起TCP协议传输通道 socket.getInputStream()方法可获得输出流 然后再用关于文件的输入输出流进行包装 再用一个死循环,或者线程也可以来传输这个文件..传文件的时候通常是新建 一个byte数组 假设是1000 然后读1000个字节写1000个字节 这个数组就是个临时的 学java程序 除了装JDK之外 必须的一样东西是API

java编程 文件传输共享 通信

使用socket来传输数据,并且使用UDP来保证传递的速度。

每一个程序既是客户端又是服务器,在指定端口侦听。

可以开两个或者以上的端口,一个端口不断往外发送信息表名自己在线,并且获取其他机器上的传递的信息,将其对应机器设为在线。

传递文件的时候使用socket的建立的UDP连接。

因为是局域网丢包率基本上可以忽略。

使用java来做本来就可以跨操作系统,不过要注意不同操作系统间文件的差异性。

大文件的分段传输和断点续传,都可以使用随机读写类essFile来实现。

只需数据库限制用户可以让其登录,为其分配用户名。

总体来说原理比较简单,就是比较麻烦,实现起来需要时间比较长,主要是文件传输的时候遇到的情况比较多都要考虑到。

如何用java传输文件谁知道这个程序呀?

上面的只是一个有界面的传输,为了便于说明,我就跟你写一个JAVA传输的小例子,希望对你有所帮助。

传输呢,基本上是要靠Socket,根据TCP/IP协议来传递文件,通过客户端和服务端来实现这个握手协议。

以客户端向服务器端传送文件为例吧: 建立服务器:

import java.io.*;

import .*;

public class Server{

public staitc void main(String[] args) throws Exception{

//建立服务器

ServerSocket ss=new ServerSocket(9999);//给一个可用的端口号。

Socket s=ept();//这里建立阻塞,只有当有客户端连接进来,程序才会往下走。

InputStream input=s.getInputStream();//获取Socket输入流

FileOutputStream fos=new FileOutputStream("文件");//建立文件输出流,接收客户端传递的文件

byte[] buf=new byte[4049];//建立缓冲数组,接收文件时,将字节写入字节数组内部保存

for(int size=0;size!=-1;size=input.read(buf)){//将获得的信息写入字节数组,写入的大小为size

fos.write(buf,0,size); //当size=-1的时候,说明已经读取完毕

fos.flush(); //强制写入内容

}

fos.close();

ss.close();

System.out.println("文件下载完毕!");

}

}

建立客户端:

import java.io.*;

import .*;

public class Client{

public static void main(String[] args) throws Exception{

Socket s=new Socket("127.0.0.1",9999);//利用服务器IP地址和端口为参数,建立和服务器通信

FileInputStream fis=new FileInputStream("文件"); //创造输入流,用于发送需要传递的文件

OutputStream output=s.getOutputStream();//获得Socket输出流

byte[] buf=new byte[4049];//建立缓冲数组,接收文件时,将字节写入字节数组内部保存

for(int size=0;size!=-1;size=fis.read(buf)){)){//将获得的信息写入字节数组,写入的大小为size

output.write(buf,0,size);//当size=-1的时候,说明已经读取完毕

output.flush();//强制将文件发送出去

}

fis.close();

s.close();

System.out.println("文件上传完毕!");

}

}

腾讯云CVM云服务器大硬盘方案400GB和800GB数据盘方案

最近看到群里的不少网友在搭建大数据内容网站,内容量有百万篇幅,包括图片可能有超过50GB,如果一台服务器有需要多个站点的话,那肯定默认的服务器50GB存储空间是不够用的。如果单独在购买数据盘会成本提高不少。这里我们看到腾讯云促销活动中有2款带大数据盘的套餐还是比较实惠的,一台是400GB数据盘,一台是800GB数据盘,适合他们的大数据网站。 直达链接 - 腾讯云 大数据盘套餐服务器这里我们看到当前...

ShockHosting($4.99/月),东京机房 可享受五折优惠,下单赠送10美金

ShockHosting商家在前面文章中有介绍过几次。ShockHosting商家成立于2013年的美国主机商,目前主要提供虚拟主机、VPS主机、独立服务器和域名注册等综合IDC业务,现有美国洛杉矶、新泽西、芝加哥、达拉斯、荷兰阿姆斯特丹、英国和澳大利亚悉尼七大数据中心。这次有新增日本东京机房。而且同时有推出5折优惠促销,而且即刻使用支付宝下单的话还可获赠10美金的账户信用额度,折扣相比之前的常规...

EtherNetservers年付仅10美元,美国洛杉矶VPS/1核512M内存10GB硬盘1Gpbs端口月流量500GB/2个IP

EtherNetservers是一家成立于2013年的英国主机商,提供基于OpenVZ和KVM架构的VPS,数据中心包括美国洛杉矶、新泽西和杰克逊维尔,商家支持使用PayPal、支付宝等付款方式,提供 60 天退款保证,这在IDC行业来说很少见,也可见商家对自家产品很有信心。有需要便宜VPS、多IP VPS的朋友可以关注一下。优惠码SUMMER-VPS-15 (终身 15% 的折扣)SUMMER-...

java文件传输为你推荐
身份证正反面图片身份证正反两面的照片能做什么y码衣服的尺码标识,3xL xL xxL都代表的什么意思?网络审计网经科技1820听说是网络审计路由器,大家知道怎么样吗?设备支持多少用户啊自定义表情QQ自定义表情币众筹收益权众筹为什么有吸引力文本框透明word里文本框怎么透明?河北云办税厅用小度怎么打开河北教育资讯云平台?bt代理为什么用代理下载BT非常非常慢啊?点心os什么是点心os?手机操作系统和手机区别么?一个是硬件一个是软件?听说炒的好火?软件开发技术文档软件开发技术的目录
日本动态vps 免费二级域名申请 中文域名申请 12u机柜尺寸 2017年黑色星期五 全能主机 铁通流量查询 100m空间 徐正曦 傲盾官网 鲁诺 idc查询 如何建立邮箱 华为云服务登录 东莞idc 申请免费空间 xuni 创速 带宽测试 windowsserver2008 更多