- /**
- *
- */
- package com.zjpii.hxj.util;
- import java.io.IOException;
- import java.net.SocketException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
- import org.apache.commons.net.ftp.FTPClient;
- import org.apache.commons.net.ftp.FTPFile;
- /**
- * 对ftp上的文件进行操作的类
- * 使用Apache的commons-net-1.4.1.jar包
- * @author hxj
- * @date 2008-11-1
- *
- */
- public class FtpUtil {
- /**
- * 获取ftp上文件的最后修改时间
- * @param host ftp主机地址 e.g. "127.0.0.1"
- * @param username 用户名 e.g. "username"
- * @param password 密码 e.g. "passowrd"
- * @param path 文件路径 e.g. "ftputil/test.txt"
- * @return Date 如果连接成功返回java.util.Date时间,如果连接失败返回null
- * @throws IOException
- * @throws SocketException
- */
- public Date getFileLastModifiedTime(String host,String username,String password,String path) throws SocketException, IOException{
- Date lastModifiedDate = null;
- FTPClient ftpClient = new FTPClient();
- ftpClient.connect(host);
- boolean isLogin = ftpClient.login(username, password);
- //连接ftp失败返回null
- if(!isLogin){
- ftpClient.disconnect();
- ftpClient = null;
- return null;
- }
- //获取ftp上path路径下的文件
- FTPFile[] fileList = ftpClient.listFiles(path);
- for (int i = 0; i < fileList.length; i++) {
- lastModifiedDate = fileList[i].getTimestamp().getTime();
- }
- return lastModifiedDate;
- }
- /**
- * 获得ftp路径下面所有文件的修改时间
- * @param host ftp主机地址 e.g. "127.0.0.1"
- * @param username 用户名 e.g. "username"
- * @param password 密码 e.g. "passowrd"
- * @param path 文件路径 e.g. "ftputil"
- * @return java.util.Map 连接成功返回一个key是文件名,value是最后修改时间(java.util.Date)的一个map;连接失败返回null
- * @throws SocketException
- * @throws IOException
- */
- public Map getAllFileLastModifiedTime(String host,String username,String password,String path) throws SocketException, IOException{
- Date lastModifiedDate = null;
- FTPClient ftpClient = new FTPClient();
- ftpClient.connect(host);
- boolean isLogin = ftpClient.login(username, password);
- //连接ftp失败返回null
- if(!isLogin){
- ftpClient.disconnect();
- ftpClient = null;
- return null;
- }
- //获取ftp上path路径下的文件
- FTPFile[] fileList = ftpClient.listFiles(path);
- //HashMap容量:fileList.length
- Map map = new HashMap(fileList.length);
- for (int i = 0; i < fileList.length; i++) {
- lastModifiedDate = fileList[i].getTimestamp().getTime();
- //key 文件名;value修改时间(java.util.Date)
- map.put(fileList[i].getName(), lastModifiedDate);
- }
- return map;
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- FtpUtil ftpUtil = new FtpUtil();
- try {
- String host = "134.98.8.214";
- String username = "hz";
- String password = "hz";
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");
- Date date =ftpUtil.getFileLastModifiedTime(host, username, password, "qxtmp/wangjun-test.txt");
- System.out.println("method1:"+dateFormat.format(date));
- Map map = ftpUtil.getAllFileLastModifiedTime(host, username, password, "qxtmp");
- System.out.println(map.size());
- System.out.println("method2:"+dateFormat.format(map.get("ipashd.txt")));
- } catch (SocketException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
获取ftp上文件的最后修改时间
最新推荐文章于 2024-04-30 06:35:35 发布