上面的只是一个有界面的传输,为了便于说明,我就跟你写一个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("文件上传完毕!");
}
}
zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...
IMIDC发布了6.18大促销活动,针对香港、台湾、日本和莫斯科独立服务器提供特别优惠价格最低月付30美元起。IMIDC名为彩虹数据(Rainbow Cloud),是一家香港本土运营商,全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。香港服务器 $39/...
Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...