java做ftp程序学什么_java新手学习使用FtpClient

导读:

$";

/**

* Log stream

*/

private static Logger log = Logger.getLogger(myFtp.class);

/**

* Standard main()

*

* @param args standard args

*/

public static void main(String[] args) {

String host = "www.ftpserver.com";

String user = "username";

String password = "×××××××××";

//Logger.setLevel(Level.ALL); // 设置debug信息是否显示,还是屏蔽了吧,好多呀。

FTPClient ftp = null;

//要获取的文件名

String filename = "雍正王朝";

//处理时间问题

long nCurrentTime = System.currentTimeMillis();

long nYellowTime ;

nYellowTime = nCurrentTime - 24*60*60*1000; //换算成毫秒后减去一天的时间。

Date utilDate = new Date(nYellowTime);

//Calendar用于获取指定的时间项(字段) 本段在此程序中没什么用,只是为了学习

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(nCurrentTime);

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) + 1; //注意:返回的月份是基于0的!

int day = calendar.get(Calendar.DAY_OF_MONTH);

int hour = calendar.get(Calendar.HOUR_OF_DAY);

int minute = calendar.get(Calendar.MINUTE);

int second = calendar.get(Calendar.SECOND);

System.out.println("Current date is: "+ year + "年" + month + "月" + day + "日");

System.out.println("Current time is: "+ hour + "时" + minute + "分" + second + "

秒");

//SimpleDateFormat用于格式化日期和时间

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");

String szDatetime1 = df.format(utilDate);

System.out.println("Yellow datetime is: "+ szDatetime1);

try {

// set up client

ftp = new FTPClient();

ftp.setRemoteHost(host);

ftp.setControlEncoding("GB2312"); //设置可以访问中文路径

FTPMessageCollector listener = new FTPMessageCollector();

ftp.setMessageListener(listener);

// connect

log.info("Connecting");

ftp.connect();

// login

log.info("Logging in");

ftp.login(user, password);

// set up passive BINARY transfers 设置ftp传输模式的

log.debug("Setting up passive, BINARY transfers");

ftp.setConnectMode(FTPConnectMode.PASV);

ftp.setType(FTPTransferType.BINARY);

/*// get directory and print it to console

log.debug("Directory before put:");

String[] files = ftp.dir(".", true);

for (int i = 0; i

log.debug(files[i]);

// copy file to server

log.info("Putting file");

ftp.put("test.txt", "test.txt");

// get directory and print it to console

log.debug("Directory after put");

files = ftp.dir(".", true);

for (int i = 0; i

log.debug(files[i]);

*/

// copy file from server

log.info("Getting file");

ftp.chdir("mov//国产片//雍正王朝"); //进入指定的目录

filename = filename + szDatetime1;

System.out.println("Current is: "+ filename);

ftp.get(filename + ".rm" , "01.rm"); //获取指定的文件名,第一个参数是本地名,

第二个参数才是远端文件名

/*

// delete file from server

log.info("Deleting file");

ftp.delete("test.txt");

// get directory and print it to console

log.debug("Directory after delete");

files = ftp.dir("", true);

for (int i = 0; i

log.debug(files[i]);

*/

// Shut down client

log.info("Quitting client");

ftp.quit();

String messages = listener.getLog();

log.debug("Listener log:");

log.debug(messages);

log.info("Test complete");

} catch (Exception e) {

log.error("myftp failed", e);

}

}

/**

* Basic usage statement

*/

public static void usage() {

System.out.println("Usage: Demo remotehost user password");

}

}

注:高手们都会处理异常的,我这里就姑且不顾忌那么多了。有个异常处理也是不想改了,不影响正常

的使用。

这只是简单的ftp接收功能的实现,如果需要解决上传的问题,可以查阅edtftp自带的说明。在doc/api

里。

定时功能可以通过操作系统设置,不用在程序中体现^_^。

本文转自

http://bbs.chinaunix.net/archiver/?tid-834647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值