`

Java_FTPClient实现文件上传下载

 
阅读更多

from: http://www.open-open.com/lib/view/open1333860679171.html

 

 

  • 所用到的jar包有:  
  • commons-net-1.4.1.jar  
  • jakarta-oro.jar  

 

一、上传文件

01 文件上传源代码 
02             /**  
03      * Description: 向FTP服务器上传文件  
04      * @Version1.0  
05      * @param url FTP服务器hostname  
06      * @param port FTP服务器端口  
07      * @param username FTP登录账号  
08      * @param password FTP登录密码  
09      * @param path FTP服务器保存目录  
10      * @param filename 上传到FTP服务器上的文件名  
11      * @param input 输入流  
12      * @return 成功返回true,否则返回false  
13      */   
14     public static boolean uploadFile( 
15             String url,//FTP服务器hostname  
16             int port,//FTP服务器端口 
17             String username, // FTP登录账号  
18             String password, //FTP登录密码 
19             String path, //FTP服务器保存目录 
20             String filename, //上传到FTP服务器上的文件名  
21             InputStream input // 输入流  
22             ) {   
23         boolean success = false;   
24         FTPClient ftp = new FTPClient();   
25         try {   
26             int reply;   
27             ftp.connect(url, port);//连接FTP服务器    
28             //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器    
29             ftp.login(username, password);//登录    
30             reply = ftp.getReplyCode();   
31             if (!FTPReply.isPositiveCompletion(reply)) {   
32                 ftp.disconnect();   
33                 return success;   
34             }   
35             ftp.changeWorkingDirectory(path);   
36             ftp.storeFile(filename, input);            
37                  
38             input.close();   
39             ftp.logout();   
40             success = true;   
41         catch (IOException e) {   
42             e.printStackTrace();   
43         finally {   
44             if (ftp.isConnected()) {   
45                 try {   
46                     ftp.disconnect();   
47                 catch (IOException ioe) {   
48                 }   
49             }   
50         }   
51         return success;   
52     }

以下是文件上传的测试用例:

01 /** 
02  * 将本地文件上传到FTP服务器上 
03  
04  */ 
05 public void testUpLoadFromDisk(){   
06     try {   
07         FileInputStream in=new FileInputStream(new File("D:/test.txt"));   
08         boolean flag = uploadFile("127.0.0.1"21"administrator""zyuc2011""test","test.txt", in);   
09         System.out.println(flag);   
10     catch (FileNotFoundException e) {   
11         e.printStackTrace();   
12     }    
13 }

 

01 /** 
02  * 在FTP服务器上生成一个文件,并将一个字符串写入到该文件中 
03  
04  */ 
05 public void testUpLoadFromString(){   
06     try {   
07         String str = "这是要写入的字符串!"
08         InputStream input = new ByteArrayInputStream(str.getBytes("utf-8"));   
09         boolean flag = uploadFile("127.0.0.1"21"administrator""zyuc2011""test","test.txt", input);   
10         System.out.println(flag);   
11     catch (UnsupportedEncodingException e) {   
12         e.printStackTrace();   
13     }   
14 }

二、文件下载

01 文件下载源代码 
02     /**  
03      * Description: 从FTP服务器下载文件  
04      * @Version1.0  
05      * @param url FTP服务器hostname  
06      * @param port FTP服务器端口  
07      * @param username FTP登录账号  
08      * @param password FTP登录密码  
09      * @param remotePath FTP服务器上的相对路径  
10      * @param fileName 要下载的文件名  
11      * @param localPath 下载后保存到本地的路径  
12      * @return  
13      */   
14     public static boolean downFile( 
15             String url, //FTP服务器hostname 
16             int port,//FTP服务器端口 
17             String username, //FTP登录账号 
18             String password, //FTP登录密码 
19             String remotePath,//FTP服务器上的相对路径  
20             String fileName,//要下载的文件名 
21             String localPath//下载后保存到本地的路径 
22             ) {   
23         boolean success = false;   
24         FTPClient ftp = new FTPClient();   
25         try {   
26             int reply;   
27             ftp.connect(url, port);   
28             //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器    
29             ftp.login(username, password);//登录    
30             reply = ftp.getReplyCode();   
31             if (!FTPReply.isPositiveCompletion(reply)) {   
32                 ftp.disconnect();   
33                 return success;   
34             }   
35             ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录    
36             FTPFile[] fs = ftp.listFiles();   
37             for(FTPFile ff:fs){   
38                 if(ff.getName().equals(fileName)){   
39                     File localFile = new File(localPath+"/"+ff.getName());   
40                     OutputStream is = new FileOutputStream(localFile);    
41                     ftp.retrieveFile(ff.getName(), is);   
42                     is.close();   
43                 }   
44             }   
45                  
46             ftp.logout();   
47             success = true;   
48         catch (IOException e) {   
49             e.printStackTrace();   
50         finally {   
51             if (ftp.isConnected()) {   
52                 try {   
53                     ftp.disconnect();   
54                 catch (IOException ioe) {   
55                 }   
56             }   
57         }   
58         return success;   
59     }

以下是文件下载的测试用例:

01 /** 
02  * 将FTP服务器上文件下载到本地 
03  
04  */ 
05 public void testDownFile(){ 
06     try {   
07         boolean flag = downFile("127.0.0.1"21"administrator""zyuc2011""test","test.txt""D:/");   
08         System.out.println(flag);   
09     catch (Exception e) {   
10         e.printStackTrace();   
11     }        
12 }

 

分享到:
评论

相关推荐

    javaftp.rar_FTPClient java_ftpclient_javaftp client_swing上传下载_上传

    Java FTP 客户端开发是网络编程中的一个重要领域,它允许程序通过FTP(File Transfer Protocol)协议进行文件的上传、下载、重命名和删除等操作。在这个“javaftp.rar”项目中,开发者使用了Java Swing作为图形用户...

    java利用FTPClient实现上传下载文件.doc

    Java 中使用 FTPClient 实现上传下载文件 Java 中使用 FTPClient 实现上传下载...使用 FTPClient 可以轻松实现文件上传和下载,并提供了许多其他功能。FTPClient 是一个非常实用的工具类,广泛应用于 Java 程序中。

    使用FTPClient实现文件的上传下载

    这篇博客“使用FTPClient实现文件的上传下载”显然关注的是如何利用编程接口FTPClient来执行FTP操作,如上传和下载文件。FTPClient是Apache Commons Net库的一部分,它为Java开发者提供了方便的API来实现FTP功能。 ...

    FTP.rar_ftp swing_java FtpClient_java ftp_swing_swing 开发ftp

    开发者通过Swing的组件实现了文件上传、下载、重命名和删除的功能,并将这些功能封装在一个可以通过命令行或者图形界面操作的FTP客户端中。在实际开发过程中,开发者需要对FTP协议有深入理解,熟悉Swing组件的使用,...

    java FTPClient 文件上传下载文件

    ### Java FTPClient 文件上传下载知识点详解 #### 一、引言 在现代软件开发中,文件传输是一项基本而重要的功能。对于Java开发者来说,利用Java的FTPClient进行文件的上传和下载是常见的需求之一。本篇文章将围绕...

    JavaFtpClient.rar_JAVAFTP_ftpclient

    throw new IOException("文件上传失败"); } ``` 下载文件则调用`retrieveFile`方法: ```java OutputStream outputStream = new FileOutputStream("localSavePath"); boolean downloadSuccess = ftpClient....

    javaftp.rar_FTP界面_edtftpj.jar downlo_ftp 上传下载_java ftpClient fo

    在这个项目中,开发者使用Java的FTPClient库和Swing GUI框架创建了一个功能齐全的FTP客户端,让用户能够方便地进行文件的上传和下载操作。以下是关于这个FTP客户端的一些关键知识点: 1. **FTPClient库**:Java的...

    使用FTPClient实现ftp文件上传

    在本文中,我们将深入探讨如何使用FTPClient来实现FTP文件上传,特别是处理中文文件名的上传问题。 FTP是一种广泛使用的互联网协议,允许用户在两台计算机之间传输文件。在Java中,我们可以利用Apache Commons Net...

    ftpclient 文件上传、下载、删除

    FTPClient是Java中实现FTP功能的一个库,它提供了丰富的API,使得开发者能够方便地与FTP服务器进行交互,包括上传、下载和删除文件。在这个项目中,我们将会深入探讨如何使用FTPClient来完成这些操作。 首先,要...

    调用FtpClient类上传文件(java)

    本主题将深入探讨如何使用`FtpClient`类从Apache Commons Net库来实现文件上传功能。Apache Commons Net提供了丰富的FTP操作接口,使得开发者能够方便地执行包括上传、下载、删除等在内的各种FTP操作。 首先,我们...

    JAVA中使用FTPClient上传下载

    在Java中使用FTPClient进行文件上传与下载是一个常见的需求,特别是在需要远程管理文件或数据交换的场景下。本文将深入探讨如何使用Java中的FTPClient库实现这一功能,并提供详细的代码示例与解释。 ### FTPClient...

    FTP.rar_FTP传输文件_ftp java_java ftp_java 文件传输_文件传输

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件的上传和下载。在Java编程中,实现FTP文件传输通常涉及到几个关键的知识点,包括FTP客户端库的使用、连接设置、文件操作以及异常...

    Java实现FTP文件上传和下载

    以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。 首先,Java通过`java.net`和`javax.net`包提供了FTP功能,但这些原生API并不易用。因此,大多数开发人员会使用第三方库如Apache...

    JAVA中使用FTPClient上传下载.doc

    在Java编程中,FTPClient是Apache Commons Net库中的一个组件,用于实现FTP(文件传输协议)功能,包括文件上传和下载。以下是对标题和描述中所提及知识点的详细解释: 1. **FTPClient**: FTPClient是Apache ...

    JAVA中使用FTPClient实现文件上传下载实例代码

    文件上传的实现主要集中在`uploadFile`方法中。以下是关键步骤的解释: 1. **创建FTPClient对象**:`FTPClient ftp = new FTPClient();` 这是FTP客户端的起点,所有的FTP操作都通过这个对象进行。 2. **连接FTP...

    java 连接 FTP 文件操作(上传,下载,删除,复制

    文件上传是通过`FTPClient`的`storeFile`方法实现的。首先,我们需要打开一个本地文件流,然后调用`storeFile`方法,传入远程文件路径和本地文件流。 ```java File localFile = new File("localFilePath"); ...

    Ftpfuwuqi.rar_ftp java_ftpfuwu_ftpfuwuq_下载文件

    本项目" FTPfuwuqi.rar "显然是一个Java实现的FTP客户端工具,能够实现基本的FTP文件上传和下载功能。 在Java中,`java.net`和`java.io`库提供了基础的网络通信功能,但通常我们使用Apache的Commons Net库来简化FTP...

    Java FTPClient实现文件上传下载

    在给定的标题和描述中,主要涉及了如何使用Java FTPClient进行文件上传和下载的操作。 首先,为了使用FTPClient,你需要在项目中引入相关的依赖库。如标签所示,至少需要两个JAR包:`commons-net-1.4.1.jar` 和 `...

    javaftpclient.zip_Java FTP上传_swing 上传_swing上传下载_swing文件上传

    在上传时,`FTPClient`的`storeFile()`方法会被用来将本地文件上传到服务器;而在下载时,可能使用`retrieveFile()`方法将服务器上的文件下载到本地。 此外,为了实现文件的滚动上传,可能使用了`JProgressBar`组件...

    Java实现FTP批量大文件上传下载.pdf

    Java实现FTP批量大文件上传下载 一、Java FTP客户端库的选择 在选择Java FTP客户端库时,需要考虑多个因素,例如性能、安全性、可靠性等。当前有多种FTP客户端库可供选择,例如J-FTP、SimpleFTP、FTPClient等。每...

Global site tag (gtag.js) - Google Analytics