Ⅰ 用java完成文件ftp上传下载
使用rt.jar中的sun.net.FtpClient类来实现对FTP服务器的文件上传下载
Ⅱ java ftp批量下载异常
Thread-3出现空指针异常。也就是说你在多线程运行过程中第三个线程出现问题。可能溢出之类的。Thread-3是系统在你没有给线程命名的情况下系统自动给你的线程命名
Ⅲ java如何实现将FTP文件转移到另一个FTP服务器上
你有FTPClient就比较好办,假如你的两台FTP服务器分别为fs1和fs2
在本地开发代码思路如下:
通过FTPClient连接上fs1,然后下载(可以循环批量下载)到本地服务器,保存到一个临时目录。
下载完成后,FTPClient断开与fs1的连接,记得必须logout。
本地服务器通过FileInputStream将刚下载到临时目录的文件读进来,得到一个List<File>集合。
通过FTPClient连接上fs2,循环List<File>集合,将文件上传至fs2的特定目录,然后清空临时目录,上传完毕后,断开fs2的连接,同样必须logout。
Ⅳ 用java下载异地ftp中的所有zip文件
这个要做定时任务的,ftp不可能主动给你发,只能自己每隔多长时间就去检索一次,应该把ftp文件目录结构和文件名称全部存入数据库,在下载时候对文件的标识状态位进行更新,方便于对文件的判断。然后从ftp下载文件即可。如果需要连接ftp下载文件的代码,可以发送邮件到[email protected]
Ⅳ 用java编写ftp下载,求解list<Object>问题
我觉的是传来的list为null,所以会空指针异常,你的先判断
if(list!=null){
for (int i = 0; i < list.size() ; i++) {
Object[] os = list.get(i);
String fileName = (String) os[0];
String relPath = (String) os[1];
String midPath = "/data/edocs/WORKING/NORMAL";
String remotePath = strFtp + midPath + relPath; // FTP上要下载的文 件路径,不包括文件名
ftp.downFile(remotePath, fileName, savePath);
}
}
Ⅵ java怎样快速的实现从ftp上下载多张图片
一般采用Apache FTP jar 进行FTP操作 循环下载 或者开启线程取下载
了解下Apache FTP 或者找个DOME 看下10分钟就玩会了
Ⅶ Java 批量大文件上传下载如何实现
解决这种大文件上传不太可能用web上传的方式,只有自己开发插件或是当门客户端上传,或者用现有的ftp等。
1)开发一个web插件。用于上传文件。
2)开发一个FTP工具,不用web上传。
3)用现有的FTP工具。
下面是几款不错的插件,你可以试试:
1)Jquery的uploadify插件。具体使用。你可以看帮助文档。
Ⅷ 如何批量从ftp批量下载文件
如果你是WIN系统或者linux系统自带的FTP,就是用代码循环。
你用的是客户端的话更简单了,把需要下载的勾选的直接下就可以了,比如这款IIS7服务器管理软件。
它的操作简单,功能强大可应用于win系列的操作系统(含VPS、VM);还可应用于linux操作系统:CentOS、Ubuntu、Debian等,支持命令及可视化SFTP管理;linux的vnc、win的vnc;FTP,webshell等,同时适合机房管理、站长、运维工作、程序员,等需要大量服务器或者电脑的用户朋友使用范围很广。
IIS7服务器管理工具能够作为FTP的客户端,进行FTP的命令操作,定时备份上传下载,自动更新。可在客户端,下载,安装FTP软件!同时,它也可以作为VNC的客户端,进行VNC的命令操作!它能够批量连接Windows和Linux系统下的服务器和VPS,并能够实时监测他们的连接状态,便于日常维护和操作!
Ⅸ java ftp上批量下载。。。如何和本地文件对应比较。。
比较文件名、比较文件大小,或者比较文件字节序列。最绝的方法是比较文件的MD5值!
Ⅹ java ftp下载
这个和ftp没有太大关系,只是一个普通的下载,java连接ftp服务器传输文件是需要提供ip 端口号,用户名密码 路径的,这个只是一个静态资源,用这个就可以,支持断点续传
这边用到了apachecommons-httpclient-3.1包
importjava.io.File;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.RandomAccessFile;
importorg.apache.http.HttpEntity;
importorg.apache.http.HttpResponse;
importorg.apache.http.client.ClientProtocolException;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.impl.client.DefaultHttpClient;
@SuppressWarnings("deprecation")
publicclassDownloadTool{
publicstaticvoidmain(String[]args)throwsClientProtocolException,IOException{
Stringurl="
[阳光电影
].神探驾到.BD.720p.国粤双语中字.mkv";
StringdownFile="d:\aaa.mkv";//本地存放路径
LongnetFileLenght=getNetFileSize(url);
LonglocalFileLenght=getLocalFileSize(downFile);
if(localFileLenght>=netFileLenght){
System.out.println("已下载完成");
return;
}
System.out.println("netFileLenght:"+netFileLenght+"localFileLenght:"+localFileLenght);
finalHttpClienthttpClient=newDefaultHttpClient();
httpClient.getParams().setIntParameter("http.socket.timeout",5000);
finalHttpGethttpGet=newHttpGet(url);
httpGet.addHeader("Range","bytes="+localFileLenght+"-");
finalHttpResponseresponse=httpClient.execute(httpGet);
finalintcode=response.getStatusLine().getStatusCode();
finalHttpEntityentity=response.getEntity();
System.out.println(code);
if(entity!=null&&code<400){
Filefile=newFile(downFile);
=newRandomAccessFile(file,"rw");
randomAccessFile.seek(localFileLenght);
InputStreaminputStream=entity.getContent();
intb=0;
finalbytebuffer[]=newbyte[1024];
while((b=inputStream.read(buffer))!=-1){
randomAccessFile.write(buffer,0,b);
}
randomAccessFile.close();
inputStream.close();
httpClient.getConnectionManager().shutdown();
System.out.println("下载完成");
}
}
(StringfileName){
Filefile=newFile(fileName);
returnfile.length();
}
(Stringurl){
Longcount=-1L;
finalHttpClienthttpClient=newDefaultHttpClient();
httpClient.getParams().setIntParameter("http.socket.timeout",5000);
finalHttpGethttpGet=newHttpGet(url);
HttpResponseresponse=null;
try{
response=httpClient.execute(httpGet);
finalintcode=response.getStatusLine().getStatusCode();
finalHttpEntityentity=response.getEntity();
if(entity!=null&&code==200){
count=entity.getContentLength();
}
}catch(ClientProtocolExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
}
returncount;
}
}