您的位置:首页 > 编程语言 > PHP开发

获取ftp上文件的最后修改时间

2008-11-03 16:14 931 查看
/**

*

*/

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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: