上面的只是一个有界面的传输,为了便于说明,我就跟你写一个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("文件上传完毕!");
}
}
ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...
快云科技已稳步运行进两年了 期间没出现过线路不稳 客户不满意等一系列问题 本司资质齐全 持有IDC ICP ISP等正规手续 有独特的网站设计理念 在前几天刚是参加过魔方系统举行的设计大赛拿获最佳设计奖第一名 本公司主营产品 香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机 2020年的国庆推出过一款香港的回馈用户特惠机 已作为传家宝 稳定运行 马上又到了...
inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...