FTP下載文件

今天公司有需求,需要從遠程FTP服務器上下載文件到本地代碼。然后看了一下,順便做個記錄

什么是FTP呢?? 詳細百度百科

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基于不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。
ftp有圖形化工具,我用的是FileZilla,
下載后直接安裝,然后打開:輸入地址和密碼,用戶名連接就行,端口號不用輸。
下面是用代碼來完成下載:
package org.spring.springboot.controller;


import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.SocketException;

public class ContinueFTP
{
/**
* Description: 從FTP服務器下載文件
* @Version1.0
* @param url FTP服務器hostname
* @param port FTP服務器端口
* @param username FTP登錄賬號
* @param password FTP登錄密碼
* @param remotePath FTP服務器上的相對路徑
* @param fileName 要下載的文件名
* @param localPath 下載后保存到本地的路徑
* @return
*/
public static boolean downFile(
String url, //FTP服務器hostname
int port,//FTP服務器端口
String username, //FTP登錄賬號
String password, //FTP登錄密碼
String remotePath,//FTP服務器上的相對路徑
String fileName,//要下載的文件名
String localPath//下載后保存到本地的路徑
) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);
//如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器
ftp.login(username, password);//登錄
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(remotePath);//轉移到FTP服務器目錄
FTPFile[] fs = ftp.listFiles();
for(FTPFile ff:fs){
if(ff.getName().equals(fileName)){
File localFile = new File(localPath+"/"+ff.getName());
OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(ff.getName(), is);
is.close();
}
}

ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}

public void testDownFile(){
try {
boolean flag = downFile("3333333", 21, "22222", "4111111111", "taodp/20171201/DLCL20161123102305",
"20161102181637805058421.jpg", "Desktop/Contents/Home/ftp");
System.out.println(flag);
} catch (Exception e) {
e.printStackTrace();
}
}
}

轉載于:https://www.cnblogs.com/panshujun/p/8010702.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252734.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252734.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252734.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

tomcat啟動報錯The JRE could not be found.Edit the server and change the JRE location

解決: 在Windows->Preferences->Server->Runtime Environments 選擇Tomcat->Edit,在jre中選擇相應的jdk版本,完事。轉載于:https://www.cnblogs.com/Alwaysbecoding/p/10172752.html

tortoisegit推送ssh-key需要輸入用戶信息

修改了測試代碼,卻在提交代碼時候又跳出來請輸入用戶名和密碼, 后來發現,github push有兩種方式,ssh方式和https方式。而https方式是不同的,具體來說,就是url信息的不同,實際的驗證機制也是不同的。當建立了…

2018年中國視頻監控行業現狀及行業發展趨勢分析預測【圖】

一、中國視頻監控行業現狀 中國 2013-2018 年模擬標清視頻監控攝像機和模擬高清視頻監控攝像機的復合增長率分別為-15.2%、 29.6%。 模擬標清視頻監控攝像機需求量不斷下降, 預計 2018 年同比下降 13%, 將下降到 0.38 億臺。 模擬高清視頻監控攝像機需求…

周總結02

周一周二周三周四周五周六 所花時間 {包括上課} 16:50- 17:50 8:00-9:50 15:00-16:00 15:00- 16:30 0 10:10- 12:00 8&#xff…

C#中控制線程池的執行順序

在使用線程池時,當用線程池執行多個任務時,由于執行的任務時間過長,會導制兩個任務互相執行,如果兩個任務具有一定的操作順序,可能會導制不同的操作結果,這時,就要將線程池按順序操作。下面先給…

MySQL觸發器 trigger學習

觸發器:一類特殊的事物。可監視某種數據操作,并觸發相關操作(insert/update/delete)。表中的某些數據改變,希望同一時候能夠引起其他相關數據改變的需求。 作用:變化自己主動完畢某些語句查詢,加…

如何分析企業未來發展趨勢——以海康威視為例

財務分析主要基于歷史數據,但投資還需要看到企業未來的發展。 在前一篇的財務分析的文章中已經提到過:財務分析只是手段,最終還是要從中發現企業的競爭優勢以及行業的發展趨勢,并以此為基礎,分析企業未來的競爭優勢及…

java與C++的區別

java與C的區別 來源 https://www.cnblogs.com/Allen-rg/p/6692043.html “作為一名C程序員,我們早已掌握了面向對象程序設計的基本概念,而且Java的語法無疑是非常熟悉的。事實上,Java本來就是從C衍生出來的。”  然而,C和Java之…

js調試筆記

js調試方法很多,今天總結一下最實用的的斷點方法: debugger斷點 這個很常見,但許多人不知道其實可以添加條件判斷 if(something){debugger;} source斷點 這個最為常見,不做過多解釋,具體說一下幾個重要圖標: 恢復腳本執行至下一個…

JAVA Spring 事物 ( 已轉賬為例 ) 基于 AOP 注解

<一> 配置為文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:context"http://www.springf…

全球視頻監控設備市場規模分析

權威電子行業研究機構IHS Research發布《中國CCTV與視頻監控設備市場研究報告》顯示&#xff0c;2014年全球視頻監控設備市場143億美元&#xff0c;同比增長14.2%。歐洲、美洲、亞洲都增長低于預期;中國增長高于預期&#xff0c;市場總量達57.1億美元;美國市場雖然出貨量在增加…

vue 新窗口打開外鏈接

背景&#xff1a;vue-router 打開外鏈接 如果使用 a 標簽&#xff0c;會默認加上根路由&#xff0c;導致跳轉失效。那么如何讓 a 標簽點擊跳轉到新窗口&#xff1f;解決方法&#xff1a;html 代碼<a class"a-style" click"linkDownload(https://www.baidu.co…

EasyWeChat微信開放平臺第三方平臺接入

目錄實例化微信服務器推送事件預授權獲取預授權 Code獲取預授權 URLAPI 列表使用授權碼換取公眾號的接口調用憑據和授權信息獲取授權方的公眾號帳號基本信息獲取授權方的選項設置信息設置授權方的選項信息調用授權方 API實例化<?phpuse EasyWeChat\Foundation\Application;…

201521145048《Java程序設計》第11周學習總結

1. 本周學習總結 1.1 以你喜歡的方式&#xff08;思維導圖或其他&#xff09;歸納總結多線程相關內容。 2. 書面作業 本次PTA作業題集多線程 Q1.互斥訪問與同步訪問 完成題集4-4(互斥訪問)與4-5(同步訪問) 1.1 除了使用synchronized修飾方法實現互斥同步訪問&#xff0c;還有什…

修改chrome記住密碼后自動填充表單的背景

2019獨角獸企業重金招聘Python工程師標準>>> input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {background-color: rgb(250, 255, 189); /* #FAFFBD; */background-image: none;color: rgb(0, 0, 0); } 轉載于:https://my.oschina.net…

2018年我國視頻監控市場趨勢:智能視頻分析進入規模化

在安防領域中&#xff0c;視頻監控無疑是不可缺少的一環。我國是全球視頻安防行業增速最快的國家之一&#xff0c;近年來我國的視頻監控市場經歷了持續強勁的發展。我國視頻監控市場的高速增長反映了對個人安全及財產保護的擔憂增加。為解決該擔憂&#xff0c;公司及個人機構大…

RUP,XP,敏捷原理

①RUP-- RUP&#xff08;Rational Unified Process&#xff0c;統一軟件開發過程&#xff0c;統一軟件過程)是一個面向對象且基于網絡的程序開發方法論。 根據Rational(Rational Rose和統一建模語言的開發者)的說法&#xff0c;好像一個在線的指導者&#xff0c;它可以為所有方…

1001. A+B Format (20)---------------PAT開始

今天是第一次用Java提交PAT的代碼&#xff1a; 源代碼不能直接提交&#xff0c;需要經過修改&#xff1a; 源代碼&#xff1a; 1 package test;//提交時不能顯示這句2 3 import java.util.Scanner;4 5 public class Test_1001 {//提交時名字要改成Main6 public static void…

第一篇:SpringCloud 構建微服務系統之服務注冊和發現(consul)

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/u010046908/article/details/85260629 今天我們要學習的是consul在soringcloud中的使用。首先學習consul之前&#xff0c;我們應該看看consul的官網&#xff0c;對它有一個初…

2018 年視頻監控企業競爭力分析 海康威視連續七年蟬聯全球第一

視頻監控是安防行業的核心 近年來&#xff0c;隨著我國政府對平安城市、" 雪亮工程 " 以及金融和交通運輸等領域的重視&#xff0c;對于安防產品的需求不斷提升&#xff0c;安防市場規模也在隨之不斷擴大。視頻監控是整個安防系統最重要的物理基礎&#xff0c;視頻監…