1. 程式人生 > >ftpclient下載檔案

ftpclient下載檔案

  package com.icfcc.cpk.util.tool;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

import java.net.SocketException;

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

public class FtpTool {
	public static void main(String[] args) {
		try {
			readFtpFile("192.168.96.104",21,"glfrt","glfrt","C1.txt","/home/glfrt/print","/home/tuxedo/tmp/tuxedoFile/filename");
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	private static String  readFtpFile(String ip,int port,String username,String password,String filename,String remotDir,String targetPath) throws SocketException, IOException{
		FTPClient ftpClient = new FTPClient();
		System.out.println("1");
		ftpClient.connect(ip, port);
		System.out.println("2");
		boolean connflag = ftpClient.login(username, password);
		System.out.println("connflag:"+connflag);
		
		ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
		
		System.out.println("3");
		
		FTPFile[] files = ftpClient.listFiles(remotDir);
		for (int i = 0; i < files.length; i++) {
			System.out.println(files[i].getName());
		}
		//File file = new File("/home/tuxedo/tmp/tuxedoFile/filename");
		File file = new File(targetPath+"/"+filename);
		FileOutputStream fos = new FileOutputStream(file);
		ftpClient.retrieveFile(remotDir+"/"+filename, fos);
		fos.close();
		
		StringBuffer buffer = new StringBuffer();
		String line = null;
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
		while((line=br.readLine())!=null){
			buffer.append(line);
		}
		return buffer.toString();
	}
}

相關推薦

ftpclient下載檔案

package com.icfcc.cpk.util.tool; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.Fi

又遇到Apache FTPClient下載檔案取不到的問題,趕緊記錄一下解決方法

private static String encoding = System.getProperty("file.encoding"); ... ftpClient.changeWorkingDirectory(new String(remotePath.getBytes(

Java FTPClient 遠端檔案上傳下載追加

注意事項: 匯入jar包:commons-net-3.6.jar(百度雲分享) 用於登陸FTP伺服器的賬戶對檔案操作目錄必須有讀寫許可權 import java.io.File; import java.io.FileInputStream; import java.

java FTPClient下載多個檔案

最近有需求,要求從伺服器端下載多個檔案,並且下載的同時壓縮,上網查了半天沒有一個行的,最後還是想出下面的辦法,僅供參考 /** * 壓縮下載的資料夾 * @param namelist 下載的檔案列表 * @param path 下載路徑 * @param

Ftp上傳下載檔案,並能自定義進度條展示(FtpClient)

前一段時間,自己寫了一個java專案釋出在一個免費的java平臺上但是該平臺給專案的是虛擬路徑並不能上傳檔案。後來想到應用ftp作為上傳檔案的儲存器。 ftp上傳的工具類有sun(sun.net.*)和apache(org.apache.commons.net.ftp.* 

FTPClient上傳和下載檔案,中文亂碼問題解決

 使用類:            org.apache.commons.net.ftp.FTPClient    問題描述:       建立中文目錄、上傳中文檔名時,目錄名及檔名中的中文顯示亂碼    解決方法:            在網上Google了一些

IE無法解析返回的JSON格式並提示下載檔案

問題解決方法: ①後臺定義返回型別為text/html,如 response.setContentType("text/html;charset=UTF-8"); ②前臺配置ajax引數dataType: 'text/html', ③將文字轉化為JSON格式資料 success: func

從youtube快速下載檔案到本地的方案

需要的軟體(工具): 一 vps(我使用的是搬瓦工 https://bwh1.net/) 二 百度網盤客戶端(需要vip會員加速) 步驟: 一 在搬瓦工vps中安裝youtube-dl (https://github.com/rg3/youtube-dl),安裝完後在vps上下

成功解決Git Bash執行指令碼命令下載檔案到預設C盤路徑的問題

解決問題 解決Git Bash執行指令碼命令下載檔案到預設C盤路徑的問題 1、預設下載到資料夾為   解決思路 %homedrive%    指作業系統所在盤%homepath%      指\Docum

實現從oss(阿里雲)伺服器以附件形式下載檔案(含批量下載

轉載自:https://blog.csdn.net/sinat_28771747/article/details/53520253 筆者在專案中寫一個從阿里雲伺服器上面以附件形式下載檔案的介面時,遇到了問題,網上搜索無任何相關的解決方案,最後通過通過自己查閱API文件,再結合自己的經驗,實現了下

iframe標籤實現form表單提交下載檔案

一、表單提交的程式碼常規寫法 <iframe name="testIframeName" style="display:none;"></iframe> <form target="testIframeName" method="post" acti

轉發:傳送post請求下載檔案

原文地址:https://blog.csdn.net/yunlala_/article/details/78385962 處理檔案流方案一 以下是我親試可以實現的一種方案: exportData () { const form = this.getSearc

Postman高階應用(8):檔案變成了亂碼——下載檔案

背景 在做後臺管理系統時候,涉及到匯出報表等功能,如果我們用以前的方式請求,往往會看到返回一堆亂碼,而不是我們想要的檔案。其實Postman為我們提供了檔案下載功能,同樣普通的html文字和json資料也可以返回儲存為檔案。 實戰 點發送按鈕旁邊的三角形,然後點Send a

利用IO流一次性讀取檔案中的所有內容,利用IO流下載檔案

利用IO流一次性讀取檔案中的所有內容 讀取檔案效率最快的方法就是一次全讀進來,使用readline()之類的方法,可能需要反覆訪問檔案,而且每次readline()都會呼叫編碼轉換,降低了速度,所以,在已知編碼的情況下,按位元組流方式先將檔案都讀入記憶體,再一次性編碼轉換是最快的方式

C程式碼實現從FTP上下載檔案

從FTP上下載檔案這個功能我早就想實現了,但是苦於百度的文章大多是下載連結,一直沒捨得積分下載,這次通過查閱MSDN,將一套下載流程函式摸了一下,寫出程式碼實現從FTP下載檔案 環境 VS2015 程式碼: #include <iostream> #include <

SpringMVC 使用MultipartResolver下載檔案

MultipartResolver 用於處理檔案上傳,當收到請求時 DispatcherServlet 的 checkMultipart() 方法會呼叫 MultipartResolver 的 isMultipart() 方法判斷請求中是否包含檔案。如果請求資料中包含檔案,則呼叫 

java下載檔案注意點

前臺: 不建議使用ajax,可以使用window.location.href   後臺: 三個引數--> response path filename--filename如果要防止亂碼,可以用String str = URLEncoder.encode("中國","utf-8")

ueditor上傳圖片不好用,訪問ueditor中的controller.js變成下載檔案

由於疏忽了web.xml中的servlet配置問題,將urlpattern配置成了"/" <servlet-mapping>     <servlet-name>test</servlet-name>  &

Android AsyncHttpClient 下載檔案 Content-Type not allowed! 錯誤

專案開發更新版本時候下載apk使用AsyncHttpClient 及BinaryHttpResponseHandler來處理 但總是報errororg.apache.http.client.HttpResponseException: Content-Type not allowed! 錯誤

Struts2下載檔案點取消、重複下載出現的異常解決

在使用Struts2下載檔案時,如果重複下載,會丟擲如下異常: java.lang.IllegalStateException: Cannot call sendError() after the response has been committed at org