上面的只是一个有界面的传输,为了便于说明,我就跟你写一个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("文件上传完毕!");
}
}
spinservers是Majestic Hosting Solutions LLC旗下站点,主要提供国外服务器租用和Hybrid Dedicated等产品的商家,数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。目前,商家针对部分服务器提供优惠码,优惠后达拉斯机房服务器最低每月89美元起,圣何塞机房服务器最低每月...
HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...
80vps怎么样?80vps最近新上了香港服务器、美国cn2服务器,以及香港/日本/韩国/美国多ip站群服务器。80vps之前推荐的都是VPS主机内容,其实80VPS也有独立服务器业务,分布在中国香港、欧美、韩国、日本、美国等地区,可选CN2或直连优化线路。如80VPS香港独立服务器最低月付420元,美国CN2 GIA独服月付650元起,中国香港、日本、韩国、美国洛杉矶多IP站群服务器750元/月...