java通過commons-net上傳文件到ftp服務器

1.下載commons-net 3.5版本以上的jar文件

點擊打開鏈接

2.commons-net 3.5.jar的內容可通過以下網址查看

點擊打開鏈接

3.在包名裏添加commons-net 3.5.jar

對準包名點擊右鍵,點擊Build Path>configure bulid path,進入到下面界面


4.新建一個類,插入以下代碼

(代碼部分有解釋)


import java.io.*;
import java.net.SocketException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import java.nio.charset.Charset;
public class FtpDemoRicky{
	public static void conn(){
		/*第一個數據是ftp服務器的ip地址
		 *第二個數據是端口號
		 *第三個數據是用戶名
		 *第四個數據是密碼
		 */
		String ips[][]={{"192.168.20.166","2121","123456","123456"},
				  		{"192.168.20.171","2121","123456","123456"},
				  		{"192.168.20.125","2121","root","123456"},
				  		{"192.168.20.128","3721","root","root"}};
		for(int j=0;j<4;j++){
			//建立一個ftp客戶端的連接
		FTPClient ftp=new FTPClient();
		try{
		//連接服務器,connect(ip地址,端口號),注端口號是int型,這裏需要做一個強轉
		ftp.connect(ips[j][0],Integer.parseInt(ips[j][1]));
		//登錄服務器,longin(用戶名,密碼)
		ftp.login(ips[j][2],ips[j][3]);
		//設置編碼格式
		ftp.setCharset(Charset.forName("UTF-8"));
		ftp.setControlEncoding("UTF-8");
		//刪除指定目錄下的文件
		//ftp.deleteFile("/home/ricky/test/FtpDemoRicky.java");
		//上傳指定目錄下的文件
		ftp.storeFile("/FtpDemoRicky.java",new FileInputStream("/home/ricky/test/FtpDemoRicky.java"));
		//用files數組存儲目錄下的所有文件名,即ftp服務器下的目錄
		FTPFile files[]=ftp.listDirectories();
		//輸出每一個文件名
		for(int i=0;i<files.length;i++){
			FTPFile file=files[i];
			String fileName=file.getName();
			System.out.println(fileName);
			}
		}catch(SocketException e){
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}finally{
			try{
			//關閉鏈接
			ftp.abor();
			}catch(IOException e){
				e.printStackTrace();
			}
		}
	}
	System.out.println("");
}
	public static void main(String[] args){
		conn();
		
	}
}

這樣就可以實現上傳文件到ftp服務器了,很簡單
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章