JDK1.7 连接FtpClient,上传下载

FTPUtil.java

[java]  view plain  copy
  1. package com.ftp;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileInputStream;  
  5. import java.io.FileOutputStream;  
  6. import java.io.IOException;  
  7. import java.io.InputStream;  
  8. import java.io.OutputStream;  
  9. import java.net.InetSocketAddress;  
  10. import java.net.SocketAddress;  
  11. import sun.net.ftp.FtpClient;  
  12. import sun.net.ftp.FtpProtocolException;  
  13.   
  14. public class FTPUtil {  
  15.     /** 
  16.      * 连接ftp服务器 JDK 1.7 
  17.      *  
  18.      * @param url 
  19.      * @param port 
  20.      * @param username 
  21.      * @param password 
  22.      * @return FtpClient 
  23.      * @throws FtpProtocolException 
  24.      * @throws IOException 
  25.      */  
  26.     public static FtpClient connectFTP(String url, int port, String username,  
  27.             String password) { // 创建ftp  
  28.         FtpClient ftp = null;  
  29.         try {  
  30.             // 创建地址  
  31.             SocketAddress addr = new InetSocketAddress(url, port);  
  32.             // 连接  
  33.             ftp = FtpClient.create();  
  34.             ftp.connect(addr);  
  35.             // 登陆  
  36.             ftp.login(username, password.toCharArray());  
  37.             ftp.setBinaryType();  
  38.             System.out.println(ftp.getWelcomeMsg());  
  39.         } catch (FtpProtocolException e) {  
  40.             // TODO Auto-generated catch block  
  41.             e.printStackTrace();  
  42.         } catch (IOException e) {  
  43.             // TODO Auto-generated catch block  
  44.             e.printStackTrace();  
  45.         }  
  46.         return ftp;  
  47.     }  
  48.   
  49.     /** 
  50.      * 切换目录 
  51.      *  
  52.      * @param ftp 
  53.      * @param path 
  54.      */  
  55.     public static void changeDirectory(FtpClient ftp, String path) {  
  56.         try {  
  57.             ftp.changeDirectory(path);  
  58.             System.out.println(ftp.getWorkingDirectory());  
  59.         } catch (FtpProtocolException e) {  
  60.             // TODO Auto-generated catch block  
  61.             e.printStackTrace();  
  62.         } catch (IOException e) {  
  63.             // TODO Auto-generated catch block  
  64.             e.printStackTrace();  
  65.         }  
  66.     }  
  67.   
  68.     /** 
  69.      * 关闭ftp 
  70.      *  
  71.      * @param ftp 
  72.      */  
  73.     public static void disconnectFTP(FtpClient ftp) {  
  74.         try {  
  75.             ftp.close();  
  76.             System.out.println("disconnect success!!");  
  77.         } catch (IOException e) {  
  78.             // TODO Auto-generated catch block  
  79.             e.printStackTrace();  
  80.         }  
  81.     }  
  82.   
  83.     /** 
  84.      * 上传文件 
  85.      *  
  86.      * @param localFile 
  87.      * @param ftpFile 
  88.      * @param ftp 
  89.      */  
  90.     public static void upload(String localFile, String ftpFile, FtpClient ftp) {  
  91.         OutputStream os = null;  
  92.         FileInputStream fis = null;  
  93.         try {  
  94.             // 将ftp文件加入输出流中。输出到ftp上  
  95.             os = ftp.putFileStream(ftpFile);  
  96.             File file = new File(localFile);  
  97.             // 创建一个缓冲区  
  98.             fis = new FileInputStream(file);  
  99.             byte[] bytes = new byte[1024];  
  100.             int c;  
  101.             while ((c = fis.read(bytes)) != -1) {  
  102.                 os.write(bytes, 0, c);  
  103.             }  
  104.             System.out.println("upload success!!");  
  105.         } catch (FtpProtocolException e) {  
  106.             // TODO Auto-generated catch block  
  107.             e.printStackTrace();  
  108.         } catch (IOException e) {  
  109.             // TODO Auto-generated catch block  
  110.             e.printStackTrace();  
  111.         } finally {  
  112.             try {  
  113.                 if (os != null)  
  114.                     os.close();  
  115.                 if (fis != null)  
  116.                     fis.close();  
  117.             } catch (IOException e) {  
  118.                 // TODO Auto-generated catch block  
  119.                 e.printStackTrace();  
  120.             }  
  121.         }  
  122.     }  
  123.   
  124.     /** 
  125.      * 文件下载 
  126.      *  
  127.      * @param localFile 
  128.      * @param ftpFile 
  129.      * @param ftp 
  130.      */  
  131.     public static void download(String localFile, String ftpFile, FtpClient ftp) {  
  132.         InputStream is = null;  
  133.         FileOutputStream fos = null;  
  134.         try {  
  135.             // 获取ftp上的文件  
  136.             is = ftp.getFileStream(ftpFile);  
  137.             File file = new File(localFile);  
  138.             byte[] bytes = new byte[1024];  
  139.             int i;  
  140.             fos = new FileOutputStream(file);  
  141.             while ((i = is.read(bytes)) != -1) {  
  142.                 fos.write(bytes, 0, i);  
  143.             }  
  144.             System.out.println("download success!!");  
  145.         } catch (FtpProtocolException e) {  
  146.             // TODO Auto-generated catch block  
  147.             e.printStackTrace();  
  148.         } catch (IOException e) {  
  149.             // TODO Auto-generated catch block  
  150.             e.printStackTrace();  
  151.         } finally {  
  152.             try {  
  153.                 if (fos != null)  
  154.                     fos.close();  
  155.                 if (is != null) {  
  156.                     is.close();  
  157.                 }  
  158.             } catch (IOException e) {  
  159.                 // TODO Auto-generated catch block  
  160.                 e.printStackTrace();  
  161.             }  
  162.         }  
  163.     }  
  164. }  

Test.java

[java]  view plain  copy
  1. package test;  
  2.   
  3. import java.net.InetAddress;  
  4. import java.net.UnknownHostException;  
  5. import sun.net.ftp.FtpClient;  
  6. import com.ftp.FTPUtil;  
  7.   
  8. public class Test {  
  9.     public static void main(String[] args) {  
  10.         try {  
  11.             InetAddress addr = InetAddress.getLocalHost();  
  12.             System.out.println(addr.getHostAddress());  
  13.         } catch (UnknownHostException e) {  
  14.             // TODO Auto-generated catch block  
  15.             e.printStackTrace();  
  16.         }  
  17.         String ip = "10.10.10.10";  
  18.         int port = 21;  
  19.         String username = "root";  
  20.         String password = "root";  
  21.         String path = "/home";  
  22.         // 连接ftp  
  23.         FtpClient ftp = FTPUtil.connectFTP(ip, port, username, password);  
  24.         System.out.println(ftp.getWelcomeMsg());  
  25.         // 切换目录  
  26.         FTPUtil.changeDirectory(ftp, path);  
  27.         System.out.println("-----上传----");  
  28.         FTPUtil.upload("D:aaa.txt""/home/aaa.txt", ftp);  
  29.         System.out.println("-----下载----");  
  30.         FTPUtil.download("D:aaa.txt""/home/aaa.txt", ftp);  
  31.     }  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JDK 1.7 是 Java Development Kit 的缩写,是用于开发和编译 Java 程序的软件开发工具包。CSDN 是一个知识分享平台,提供各种技术文档和资源下载。因此,您可以在 CSDN 上下载 JDK 1.7。 在 CSDN 上下载 JDK 1.7,首先打开网页浏览器,然后搜索关键词 "JDK 1.7下载 CSDN"。点击搜索结果中的 CSDN 链接,进入 CSDN 官网。在 CSDN 官网的搜索框中输入 "JDK 1.7下载",然后点击搜索按钮。在搜索结果中,您会看到多个与 JDK 1.7 相关的下载链接。 选择一个您信任的链接,打开该链接。在链接页面中,您会看到 JDK 1.7 的相关详细信息和下载链接。点击下载链接,即可开始下载 JDK 1.7 的安装文件。 下载完成后,双击下载文件,按照提示步骤进行安装。在安装过程中,您可以选择 JDK 1.7 的安装路径和相关配置。 安装完成后,您就可以在您的计算机上开始使用 JDK 1.7 开发和编译 Java 程序了。您可以使用命令行工具或集成开发环境(IDE)来编写和运行 Java 程序。 总结来说,如果您需要下载 JDK 1.7,您可以通过在 CSDN 上搜索并选择合适的下载链接来获取该软件。下载完成后,按照安装说明进行安装,即可开始使用 JDK 1.7 进行 Java 程序开发。 ### 回答2: JDK 1.7是Java Development Kit (Java开发工具包)的一个版本。CSDN是国内知名的技术社区和资源网站之一,为开发者提供软件开发、技术分享、问答等服务。在CSDN网站上,我们可以找到JDK 1.7的下载资源。 JDK是Java程序的开发所需要的工具包,包含了Java编译器、运行环境和其他开发工具。JDK 1.7是Java SE 7版本的开发工具包,于2011年发布。这个版本引入了许多新的特性和改进,提供了更好的性能和安全性。 如果我们想要下载JDK 1.7版本,我们可以在CSDN网站上进行搜索或者直接访问相关页面。在CSDN上,我们可以找到各种版本的JDK下载链接,包括JDK 1.7。我们可以点击相关链接,进入下载页面。 在下载页面上,通常会提供多个下载选项。我们可以根据自己的操作系统选择相应的版本。例如,如果我们使用的是Windows操作系统,我们可以选择Windows x86或者Windows x64版本。 在选择了合适的版本后,我们可以点击下载按钮开始下载JDK 1.7。CSDN通常会提供一个直接下载的链接,或者链接到其他下载服务器。我们需要等待下载完成,然后就可以按照安装指南进行安装JDK。 总之,JDK 1.7是Java开发工具包的一个版本,可以在CSDN网站上找到相关的下载资源。在下载页面上,我们需要选择合适的版本并进行下载,然后按照指南安装JDK。 ### 回答3: JDK 1.7是Java Development Kit(Java开发工具包)的一个版本,它是用于开发Java应用程序的软件包。如果你希望下载JDK 1.7,你可以访问CSDN(中国软件开发者社区)的官方网站。 在CSDN网站上,你可以找到JDK 1.7的下载链接。首先,你应该打开CSDN的官方网站并注册一个账号。一旦你完成注册并登录,你可以使用关键词“JDK 1.7下载”在网站的搜索栏中搜索。结果页面会显示与你搜索相关的文章、教程和下载链接。 在下载JDK 1.7之前,你应该确保你的计算机满足了所需的系统要求。通常情况下,JDK 1.7对于Windows、Mac和Linux操作系统都是兼容的。在下载页面上,你可以选择适合你所用操作系统的版本并点击下载按钮。 下载完成后,你可以按照安装指南来安装JDK 1.7。这些指南通常会指导你进行下载文件的解压缩,设置环境变量以及配置Java的路径等步骤。 总之,如果你希望下载JDK 1.7,你可以访问CSDN的官方网站并在其搜索栏中搜索关键词。记得检查你的计算机是否满足系统要求,并按照下载页面上的指南来完成安装。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值