FTP传输和下载文件

来源:互联网 发布:透明图片下载软件 编辑:程序博客网 时间:2024/05/22 05:00
  1. public class FTPUtils {  
  2.   
  3.     FTPClient ftp;  
  4.   
  5.     /** 
  6.      * 登陆FTP 
  7.      *  
  8.      * @param user 登陆用户名 
  9.      * @param password 登录密码 
  10.      * @throws Exception 
  11.      */  
  12.     public void init(String IP,String user, String password) throws Exception { // 初始化函数  
  13.         try {  
  14.               
  15.             ftp = new FTPClient(IP); //建立连接  
  16.               
  17.             ftp.login(user, password); //登录  
  18.               
  19.         } catch (Exception e) {  
  20.             e.printStackTrace();  
  21.         }  
  22.     }  
  23.   
  24.     /** 
  25.      * 从FTP服务器上获取文件信息,包含登陆FTP流程 
  26.      *  
  27.      * @param ipAddress FTP服务器的ip地址 
  28.      * @param user 登陆用户名 
  29.      * @param password 登录密码 
  30.      * @return sourceFile 要获取的文件(含路径+文件名),例如/home/viewuser/nohup.out 
  31.      * @throws Exception 
  32.      */  
  33.     public String doFtpConnect(String ipAddress, String user, String password,  
  34.             String sourceFile) {  
  35.   
  36.         ByteArrayOutputStream streamXML = null;  
  37.         String strSendMsg = "";  
  38.   
  39.         try {  
  40.             FTPClient ftp = new FTPClient(ipAddress); //建立连接  
  41.   
  42.             streamXML = new ByteArrayOutputStream();  
  43.   
  44.             ftp.login(user, password); //登录  
  45.   
  46.             //ftp.get("D:/zy/"+fileName,"/home/viewuser/nohup.out");     //生成下载文件  
  47.             ftp.get(streamXML, sourceFile); //生成输出流  
  48.   
  49.             strSendMsg = streamXML.toString();  
  50.   
  51.         } catch (Exception e) {  
  52.             e.printStackTrace();  
  53.         }  
  54.   
  55.         return strSendMsg;  
  56.   
  57.     }  
  58.   
  59.     /** 
  60.      * 从FTP服务器上获取文件信息,不包含登陆FTP流程。 
  61.      *  
  62.      * @param user 登陆用户名 
  63.      * @param password 登录密码 
  64.      * @return sourceFile 要获取的文件(含路径+文件名),例如/home/viewuser/nohup.out 
  65.      * @throws Exception 
  66.      */  
  67.     public String doFtpConnect(String sourceFile) {  
  68.   
  69.         ByteArrayOutputStream streamXML = null;  
  70.         String strSendMsg = "";  
  71.   
  72.         try {  
  73.             streamXML = new ByteArrayOutputStream();  
  74.   
  75.             //ftp.get("D:/zy/"+fileName,"/home/viewuser/nohup.out");     //生成下载文件  
  76.             ftp.get(streamXML, sourceFile); //生成输出流  
  77.   
  78.             strSendMsg = streamXML.toString();  
  79.   
  80.         } catch (Exception e) {  
  81.             e.printStackTrace();  
  82.         }  
  83.   
  84.         return strSendMsg;  
  85.   
  86.     }  
  87.       
  88.     /** 
  89.      * 向FTP服务器传送fileName文件 
  90.      *  
  91.      * @param localPath 本地文件路径 
  92.      * @param ftpPath FTP服务器文件路径 
  93.      * @param fileName 文件名称 
  94.      * @return content 服务器fileName文件及其路径 
  95.      * @throws Exception 
  96.      */  
  97.     public String putFtpFile(String localPath,String ftpPath,String fileName){  
  98.         String content = "";  
  99.         localPath = localPath+fileName;  
  100.         ftpPath = ftpPath+fileName;  
  101.         System.out.println("FTPUtils: localPath==="+localPath);  
  102.         System.out.println("FTPUtils: ftpPath==="+ftpPath);  
  103.         try {  
  104.             content = ftp.put(localPath,ftpPath);  
  105.         }catch (Exception e){  
  106.             e.printStackTrace();  
  107.         }  
  108.           
  109.         return content;  
  110.     }  
  111.       
  112.     /** 
  113.      * 向FTP服务器传送字符串,生成fileName文件 
  114.      *  
  115.      * @param sendMsg 向服务器发送信息 
  116.      * @param ftpfile FTP服务器文件路径 
  117.      * @param fileName 文件名称 
  118.      * @return content 服务器fileName文件及其路径 
  119.      * @throws Exception 
  120.      */  
  121.     public String putFtpMsg(String sendMsg,String ftpPath,String fileName){  
  122.         String content = "";  
  123.         ftpPath = ftpPath + fileName;  
  124.         System.out.println("FTPUtils: ftpPath==="+ftpPath);  
  125.         InputStream input = new StringBufferInputStream(sendMsg);   
  126.           
  127.         try {  
  128.             content = ftp.put(input,ftpPath);  
  129.         }catch (Exception e){  
  130.             e.printStackTrace();  
  131.         }  
  132.           
  133.         return content;  
  134.     }  
  135.   
  136. }  
0 0
原创粉丝点击