1. 程式人生 > >Java從SFTP伺服器下載檔案

Java從SFTP伺服器下載檔案

最近對接一個需求,要用SFTP去伺服器上取檔案,這裡記錄下自己的思路。

SFTP下載檔案需要用到jsch的jar包,我用的是jsch-0.1.54.jar,可以到http://www.jcraft.com/jsch/中下載到最新的jsch的jar包,原始碼以及例項。

package test;

import java.io.File;
import java.util.Properties;

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com
.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; public class SFTP { public static void main (String[] args) { /* * 下載檔案 * * @param sftp_ip SFTP IP地址 * @param sftp_username SFTP 使用者名稱 * @param sftp_password SFTP使用者名稱密碼 * @param sftp_port SFTP埠 * @param sftp_path SFTP伺服器中檔案所在路徑 * @param localPath 下載到本地的路徑 * @param fileName 下載檔案的名稱 */
String sftp_ip = "10.10.93.78"; String sftp_username = "digi"; String sftp_password = "123456"; int sftp_port = 22; String sftp_path = "/"; String localPath = "D:/"; String fileName = "135.txt"; try { downloadSftpFile(sftp_ip, sftp_username, sftp_password, sftp_port, sftp_path, localPath, fileName);
} catch (JSchException e) { e.printStackTrace(); } } public static void downloadSftpFile(String sftp_ip, String sftp_username, String sftp_password, int sftp_port, String sftp_path, String localPath, String fileName) throws JSchException { Session session = null; Channel channel = null; JSch jsch = new JSch(); session = jsch.getSession(sftp_username, sftp_ip, sftp_port); session.setPassword(sftp_password); session.setTimeout(1000); Properties config = new Properties(); //設定不用檢查HostKey,設成yes,一旦計算機的密匙發生變化,就拒絕連線。 config.put("StrictHostKeyChecking", "no"); session.setConfig(config); session.connect(); channel = session.openChannel("sftp"); channel.connect(); ChannelSftp chSftp = (ChannelSftp) channel; String localFilePath = localPath + File.separator; try { //使用ChannelSftp的get(檔名,本地路徑{包含檔名})方法下載檔案 chSftp.get(fileName, localFilePath); } catch (Exception e) { e.printStackTrace(); System.out.println("download error."); } finally { chSftp.quit(); channel.disconnect(); session.disconnect(); } } }

相關推薦

JavaSFTP伺服器下載檔案

最近對接一個需求,要用SFTP去伺服器上取檔案,這裡記錄下自己的思路。 SFTP下載檔案需要用到jsch的jar包,我用的是jsch-0.1.54.jar,可以到http://www.jcraft.com/jsch/中下載到最新的jsch的jar包,原始碼以及

Javaweb伺服器下載檔案到本地

/*從伺服器中下載檔案到本地*/ /*url:檔案存放在伺服器的地址;target:要儲存的路徑*/ public String DownloadFile(String url,String target){ URLConnection con=null; URL theUrl=null; try { th

java 遠端FTP伺服器下載檔案到本地

package com.cassiatwig.liuliangqianbao.util; import org.apache.commons.net.ftp.FTPClient;  import org.apache.commons.net.ftp.FTPFile; imp

Java 指定URL下載檔案並儲存到指定目錄

從指定的URL下載檔案,並儲存到本地,近期開發過程中用的這個功能比較多,特此記錄! 1.基本流程 當我們想要下載網站上的某個資源時,我們會獲取一個url,它是伺服器定位資源的一個描述,下載的過程有如下幾步: (1)客戶端發起一個url請求,獲取連線物件。 (2)伺服器解析url,並且

通過Xshell如何Linux伺服器下載檔案

利用Xshell登入Linux伺服器,安裝lrzsz檔案接收發送軟體。 #cd /media/CentOS_6.6_Final/Packages #rpm -ivh lrzsz*.rpm

使用WebClientFTP伺服器下載檔案

從.NET Framework 2.0版本開始,使用WebClient類可以簡單的從FTP伺服器下載檔案,或者向FTP伺服器上傳檔案。 從FTP服務下載檔案 和在「檔案下載儲存」中介紹的方法一樣。如果使用WebClient.DownloadFile類可以簡單些。 下面的例子是從ftp://lo

putty windows上傳檔案到linux伺服器 & linux伺服器 下載檔案到 windows

使用pscp方式從windows上傳檔案到linux伺服器 在CMD命令列中進入到putty安裝目錄 輸入pscp 回車 pscp 跟我們平時使用的linux scp命令操作的都是類似的 現在我直接從windows本地上傳一個檔案到linux伺服器 D:\P

以命令方式FTP 伺服器下載檔案到本地指定目錄

眾所周知,FTP命令是FTP伺服器使用者使用最頻繁的命令之一,熟悉並靈活的運用FTP命令,可以大大的方便使用者。 我們假設有一臺FTP Server, FTP Server :192.168.80.17, 使用者名稱:username  密碼:user1234 。在本地電腦

Java 指定URL下載檔案並儲存到指定目錄

從指定的URL下載檔案,並儲存到本地,近期開發過程中用的這個功能比較多,特此記錄!1.基本流程當我們想要下載網站上的某個資源時,我們會獲取一個url,它是伺服器定位資源的一個描述,下載的過程有如下幾步:(1)客戶端發起一個url請求,獲取連線物件。(2)伺服器解析url,並且

Java伺服器下載檔案到本地

我的需求是從伺服器端的某磁碟中獲取amr檔案,並下載。 首先傳遞的引數strUrl為物理路徑,是絕對路徑。 //獲取檔名,此處看個人如何設計的 String filename = strUrl.substring(strUrl.lastIndexOf("/")+1); filena

java 伺服器下載檔案並儲存到本地

最近在做專案,做到檔案的下載,假設公司有檔案伺服器(像ftp或者其他),像開發人員怎麼進行從檔案伺服器上下載檔案到本地指定目錄下!又或者需要從網上下載資源到本地指定的目錄下,這時候最需要關心的幾個問題就是: (1)客戶端發起一個url請求,獲取連線物件。      

Java Web實現使用瀏覽器伺服器下載檔案(後臺)

Java Web實現 使用瀏覽器從伺服器下載檔案。 下面實現兩種情況的下載,需求如下:需求(一):1、使用者在頁面填寫表單。 2、填寫完成後,選擇下載,將表單內容發往後臺。 3、後臺根據內容生產一個檔案,傳送給前端。 4、前端成功下載檔案到本地。 此需求簡單來說就是,使用者在

Java伺服器下載檔案到本地(親測有效)

我用的是swagger 前後臺分離的專案 我的需求是從伺服器端的某磁碟中獲取按模板生成的word檔案,並下載。 思路:  按模板在伺服器上生成一個word文件  通過流的方式讀取word響應給瀏覽器  最後刪除在伺服器生成的word文件 public void word

Java通過sftp目標主機下載檔案後讀取入庫,經過處理後推送到目標主機

在FileZilla 中: - 用sftp協議連線Server ,需要用port 22 - 用ftp協議連線Server, 用port21如果你的目標主機port是22,則是用sftp方式傳送,下載檔案,見下圖,該主機埠為22一、連線目標主機下載目標檔案到本方主機,讀取本方主

java伺服器下載檔案

static public String downloadPrintFile(String filename, String dir) throws IOException {// 獲取檔案存放路徑File pf = new File(PrintTask.class.get

Mac下SFTP連線伺服器下載檔案

Mac下SFTP連線伺服器下載檔案 由於工作上遇到了關於連線sftp伺服器的問題,故記錄下來 2018-08-08 HZ 連線伺服器 sftp /*[email protected]/*host   系統會提示你 The authen

使用“rz -be”命令上傳檔案伺服器;使用“sz 檔名”伺服器下載檔案到本地

我們知道在與linux 做檔案交換的時候,經常會使用到windows 檔案上傳到linux 或者linux 檔案下載到windows之類的情況,其中大家使用比較常用的就是 Xftp,sftp,FileZilla等,那麼今天就介紹另外一種方式上傳與下載檔案rz/sz 測試環境: CentOs

java實現服務端下載檔案

這邊用一個簡單的servlet實現java從服務端下載檔案的操作    寫一個servlet: <servlet> <servlet-name>DownloadServlet</servlet-name> <serv

瀏覽器伺服器下載檔案的Servlet例項

測試兩種下載:瀏覽器通過伺服器下載其他網站檔案(http協議);瀏覽器下載伺服器本地硬盤裡的檔案(file協議) 1.工具類downloadUtils.java的核心部分 //伺服器使客戶端可以從遠端url下載檔案 public void download(String

伺服器下載檔案DOWNLOAD_WEB_OBJECT

FORM DOWNLOAD_EXCEL_DATA USING FP_DOWN_FILE  LIKE sapb-sappfad.  data: l_down_save LIKE rlgrap-filename.  DATA: l_qty like vbap-kwmeng.  "pri_pack-cqty.  d