FTP文件下载
来源:互联网 发布:电脑阅读txt软件 编辑:程序博客网 时间:2024/06/05 00:07
import java.io.*;
import java.net.InetAddress;
import java.net.*;
import java.util.Properties;
import org.apache.commons.net.ftp.*;
public class FTPDownload {
Properties properties = null ;
public static void main(String[] args) {
FTPDownload ftpDownload = new FTPDownload();
ftpDownload.loadProperties();
ftpDownload.downloadFromFTP();
}
public void downloadFromFTP() {
FTPClient ftp = new FTPClient(); ;
String fileName = "" ;
String localFolder = "" ;
FileOutputStream fileOut = null ;
InetAddress inetAddr;
try {
inetAddr = InetAddress.getByName(properties.getProperty("host"));
String ip = inetAddr.getHostAddress();
System.out.println("ip:" + ip );
ftp.connect(ip); //Connect
ftp.login(properties.getProperty("user"),properties.getProperty("pwd")); //login
localFolder = properties.getProperty("localFolder") ;
System.out.println("localFolder:" + localFolder);
String remoteFolder = properties.getProperty("remoteFolder");
System.out.println("remoteFolder:" + remoteFolder);
File localFolderPath = new File(localFolder);
if(!localFolderPath.exists()){
System.out.println("local folder doesn't exist.");
localFolderPath.mkdir();
System.out.println("local folder has been created.");
}
System.out.println("Current time : " + new java.util.Date());
for (int j = 0; j < Integer.parseInt(properties.getProperty("repeatedTimes")); j++) {
for(int i = 0 ; i < Integer.parseInt(properties.getProperty("filesNum"));i++){
fileName = properties.getProperty("fileName"+ i) ;
//create output stream
fileOut = new FileOutputStream(new File(localFolder + fileName));
System.out.println("Start downloading " + fileName);
//download file from ftp
boolean haveDownloaded = ftp.retrieveFile(remoteFolder + fileName,fileOut);
System.out.println("haveDownloaded : " + haveDownloaded);
System.out.println("End downloading...");
}
System.out.println("Repeated times :" + ( j + 1 ));
}
System.out.println("All downloading task have already finished.");
System.out.println("Current time : " + new java.util.Date());
//release object
ftp.logout();
ftp.disconnect();
ftp = null ;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
e.printStackTrace();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}catch(NoClassDefFoundError e){
e.printStackTrace();
}
}
public void loadProperties(){
File file = new File("FTPDownloadConfigurations.properties");
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
properties = new Properties();
try {
properties.load(fileInputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
}
properties文件
#host from which files are downloaded
host=域名
#user name for ftp accessing
user=账户
#user password for ftp accessing
pwd=密码
#local folder for preserving downloaded files
localFolder=D:/DownloadedFTPFiles/
#remote directory path of files to be downloaded
remoteFolder=softwares/test/
#number of files to be downloaded
filesNum=3
#name of files to be downloaded
fileName0=1.zip
fileName1=2.zip
fileName2=3.zip
#repeated times of downloading files
repeatedTimes=4
- ftp文件下载、上传
- 使用FTP下载文件
- ftp上传 下载文件
- .net下载ftp文件
- FTP文件下载
- FTP文件下载
- 远程下载文件 FTP
- ftp 下载文件
- mfc ftp文件下载
- C# ftp 下载文件
- ftp下载文件
- 文件下载 ftp
- FTP文件的下载
- 从ftp下载文件
- C#FTP下载文件
- 【Linux】FTP文件下载
- FTP多文件下载
- ftp文件下载
- 游标和游标变量的区别
- Sage CRM 乱码 方块
- 学习
- Microsoft .NET 市场前景分析
- 学习
- FTP文件下载
- JAVA
- Java多线程初次试验
- 高职学生如何成为编程高手
- 软件测试大纲
- 把程序作为人生,把人生当作程序
- VVV
- kkjj
- 显示一个点