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("文件上传完毕!");

}

}

ftlcloud9元/月,美国云服务器,1G内存/1核/20g硬盘/10M带宽不限/10G防御

ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。活动地址:https://www.ftlcloud.com...

pacificrack:$12/年-1G内存/1核/20gSSD/500g流量/1Gbps带宽

pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...

MineServer:洛杉矶CN2 GIA VPS/512MB内存/20GB NVME/800GB流量/200Mbps/KVM,58元/季

mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,之前介绍过几次,最近比较活跃。这家新推出了洛杉矶CN2 GIA VPS,512MB内存/20GB NVME/800GB流量/200Mbps/KVM,58元/季,并且进行了带宽升级,同时IP更改为美国IP。点击...

java文件传输为你推荐
决策树分析事件树分析法的介绍mac地址克隆无线路由器mac地址克隆有什么用处?水晶易表水晶报表是什么?主要有什么用处?视频压缩算法视频压缩方式防火墙排名目前比较好的防火墙软件有哪些?数据挖掘项目什么是数据挖掘?从事相关的工作有什么要求?qq网络硬盘怎么用qq网络硬盘遗传算法实例如何用C语言实现遗传算法的实际应用?天翼校园宽带中国电信校园宽带怎么样?labelforandroid:labelfor是什么意思
域名备案网站 域名备案中心 电信测速器 荣耀欧洲 duniu 星星海 GGC 圣迭戈 贵州电信宽带测速 eq2 gg广告 域名转向 100m空间 php空间购买 服务器合租 昆明蜗牛家 服务器硬件防火墙 跟踪路由命令 cxz 论坛主机 更多