Ⅰ 用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;
}
}