JAVA中的FtpClient与FTPClient,并实现jsp页面下载ftp服务器上的文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA中的FtpClient与FTPClient,并实现jsp页面下载ftp服

务器上的文件

这段时间一直在研究Java如何访问Ftp,搞了一段时间了,也有一定的了解。故此记录一下。

ftp和FTP我个人觉得FTP更符合我们程序员的口味,不管是方法命名还是API的详细与否,或者是开发平台的问题,FTP毕竟是Apache的东西,做的就是不错。

其实web开发中一般都会涉及到编码问题,所以web上传下载一定会有中文乱码的问题存在,而FTP对中文的支持比ftp要好多了。

使用ftpClient不需要导入其它jar包,只要你使用java语言开发就行了,而使用FTPClient 需要使用commons-net-1.4.1.jar和jakarta-oro-2.0.8.jar,当然jar版本随便你自己。

话不多说,上代码!

FTP服务器的文件目录结构图:

一、FtpClient

FtpClient是属于JDK的包下面的类,但是jdkapi并没有对此作介绍,在中文支持上面也有一定的限制。

本段代码中的Ftp服务器的IP地址,用户名和密码均通过SystemConfig.properties文档获取

Ftp_client.java

[java]view plain copy

1.package com.iodn.util;

2.

3.import java.io.ByteArrayOutputStream;

4.import java.io.File;

5.import java.io.FileInputStream;

6.import java.io.FileOutputStream;

7.import java.io.IOException;

8.import java.util.ResourceBundle;

9.import .TelnetInputStream;

10.import .TelnetOutputStream;

11.import .ftp.FtpClient;

12.

13.public class Ftp_client {

14.

15.//FTP客户端

16.private FtpClient ftpClient;

17.private ResourceBundle res=null;

18./**

19. * 连接FTP服务器

20. * @param path 指定远程服务器上的路径

21. */

22.public Ftp_client(String path){

23.

24. res = ResourceBundle.getBundle("com.iodn.util.SystemConfig");//

获取配置文件propeties文档中的数据

25.try{

26. ftpClient=new FtpClient(res.getString("Properties.ftpHostIp"));/

/如果不想使用配置文件即可将数据写死(如:192.168.1.10)

27. ftpClient.login(res.getString("Properties.ftpUser"), res.getStri

ng("Properties.ftpPassword"));//Ftp服务器用户名和密码

28. ftpClient.binary();

29. System.out.println("Login Success!");

30.if(path.length()!=0){

31.//把远程系统上的目录切换到参数path所指定的目录(可不用设置,上传下

载删除时加Ftp中的全路径即可)

32. ftpClient.cd(path);

33. }

34. }catch(Exception e){

35. e.printStackTrace();

36. }

37. }

38.

39./**

40. * 上传文件

41. * @param remoteFile

42. * @param localFile

43. */

44.public boolean upload(String remoteFile, String localFile){

45.boolean bool=false;

46. TelnetOutputStream os=null;

47. FileInputStream is=null;

48.try{

49. os=ftpClient.put(remoteFile);

50. is=new FileInputStream(new File(localFile));

51.byte[] b=new byte[1024];

52.int c;

53.while((c=is.read(b))!=-1){

54. os.write(b, 0, c);

55. }

56. bool=true;

57. }catch(Exception e){

58. e.printStackTrace();

59. System.out.println("上传文件失败!请检查系统FTP设置,并确认FTP

服务启动");

60. }finally{

61.if(is!=null){

62.try {

63. is.close();

64. } catch (IOException e) {

65. e.printStackTrace();

66. }

67. }

68.if(os!=null){

69.try {

70. os.close();

71. } catch (IOException e) {

72. e.printStackTrace();

相关文档
最新文档