java实现上传和下载工具类

  

本文实例为大家分享了文件上传到ftp服务工具类,供大家参考,具体内容如下

  

直接引用此java工具类就好
  

        进口java.io.File;   进口java.io.FileInputStream;   进口java.io.FileNotFoundException;   进口java.io.FileOutputStream;   进口java.io.IOException;   进口java.io.InputStream;   进口java.io.OutputStream;      进口org.apache.commons.net.ftp.FTP;   进口org.apache.commons.net.ftp.FTPClient;   进口org.apache.commons.net.ftp.FTPFile;   进口org.apache.commons.net.ftp.FTPReply;/* *   * ftp上传下载工具类   * & lt; p>标题:FtpUtil

  * & lt; p>描述:& lt;/p>   * & lt; p>公司:www.itcast.com

  * @author入云龙   * @date 2015年7月29日下午8:11:51   * @version 1.0   */公开课FtpUtil {/* *   *描述:向FTP服务器上传文件   * @param主机FTP服务器主机名   * @param FTP港服务器端口   * @param FTP用户名登录账号   * @param FTP密码登录密码   * @param basePath FTP服务器基础目录   * @param filePath FTP服务器文件存放路径。例如分日期存放:/2015/01/01。文件的路径为basePath + filePath   * @param文件名上传到FTP服务器上的文件名   * @param输入输入流   * @return成功返回真,否则返回错误的   */公共静态布尔还是(String主机,int端口,用户名的字符串,字符串密码字符串basePath,   文件名字符串filePath,字符串,InputStream输入){   布尔结果=false;   FTPClient ftp=new FTPClient ();   尝试{   int回复;   ftp。连接(主机、端口);//连接FTP服务器//如果采用默认端口,可以使用ftp.connect(主机)的方式直接连接FTP服务器   ftp。登录(用户名、密码);//登录   回复=ftp.getReplyCode ();   如果(! FTPReply.isPositiveCompletion(应答)){   ftp.disconnect ();   返回结果;   }//切换到上传目录   如果(! ftp.changeWorkingDirectory (basePath + filePath)) {//如果目录不存在创建目录   String [] dirs=filePath.split (“/?;   字符串tempPath=basePath;   (字符串dir: dirs) {   如果(null==dir | |”“.equals (dir))继续;   tempPath +=" + dir;   如果(! ftp.changeWorkingDirectory (tempPath)) {   如果(! ftp.makeDirectory (tempPath)) {   返回结果;   其他}{   ftp.changeWorkingDirectory (tempPath);   }   }   }   }//设置上传文件的类型为二进制类型   ftp.setFileType (FTP.BINARY_FILE_TYPE);//上传文件   如果(! ftp。storeFile(文件名,输入)){   返回结果;   }   input.close ();   ftp.logout ();   结果=true;   }捕捉(IOException e) {   e.printStackTrace ();   最后}{   如果(ftp.isConnected ()) {   尝试{   ftp.disconnect ();   }捕捉(IOException埃克斯波特学院){   }   }   }   返回结果;   }/* *   *描述:从FTP服务器下载文件   * @param主机FTP服务器主机名   * @param FTP港服务器端口   * @param FTP用户名登录账号   * @param FTP密码登录密码   * @param remotePath FTP服务器上的相对路径   * @param文件名要下载的文件名   * @param localPath下载后保存到本地的路径   * @return   */公共静态布尔downloadFile (String主机,int端口,用户名的字符串,字符串密码字符串remotePath,   文件名字符串,字符串localPath) {   布尔结果=false;   FTPClient ftp=new FTPClient ();   尝试{   int回复;   ftp。连接(主机、端口);//如果采用默认端口,可以使用ftp.connect(主机)的方式直接连接FTP服务器   ftp。登录(用户名、密码);//登录   回复=ftp.getReplyCode ();   如果(! FTPReply.isPositiveCompletion(应答)){   ftp.disconnect ();   返回结果;   }   ftp.changeWorkingDirectory (remotePath);//转移到FTP服务器目录   FTPFile [] fs=ftp.listFiles ();   (FTPFile ff: fs) {   如果(ff.getName () .equals(文件名)){   文件localFile=新文件(localPath + " + ff.getName ());      OutputStream=新FileOutputStream (localFile);   ftp.retrieveFile (ff.getName ());   is.close ();   }   }      ftp.logout ();   结果=true;   }捕捉(IOException e) {   e.printStackTrace ();   最后}{   如果(ftp.isConnected ()) {   尝试{   ftp.disconnect ();   }捕捉(IOException埃克斯波特学院){   }   }   }   返回结果;   }      公共静态void main (String [] args) {   尝试{   FileInputStream=new FileInputStream(新文件(“D: \ \ temp \ \ \ \ gaigeming.jpg形象”));   布尔标志=还是(“192.168.25.133”,21岁的“ftpuser”,“ftpuser”、“/home/ftpuser/www/图片”、“/2015/01/21”,“gaigeming.jpg”);   System.out.println(国旗);   }捕捉(FileNotFoundException e) {   e.printStackTrace ();   }   }   }   

java实现上传和下载工具类