java实现ftp上传

 

需要导入edtftpj包,这是下载地址

import  java.io.File;
import  java.io.IOException;
import  java.text.SimpleDateFormat;
import  java.util.Calendar;

import  com.enterprisedt.net.ftp.FTPClient;
import  com.enterprisedt.net.ftp.FTPConnectMode;
import  com.enterprisedt.net.ftp.FTPException;
import  com.enterprisedt.net.ftp.FTPMessageCollector;
import  com.enterprisedt.net.ftp.FTPTransferType;

public   class  TestFtp {

    
static  String FTPSERVER  =   " ftp3.nofeehost.com " ;

    
/** ftp server 端口,ftp默认的端口都是21 */
    
static   int  FTPPORT  =   21 ;

    
/** ftp 用户名  */
    
static  String FTPUSER  =   " test " ;

    
/** ftp 用户密码  */
    
static  String FTPPSWD  =   " test " ;

    
/** 文件存放的路径 */
    
static  String filePath  =   " D:/testftp/ " ;

    
/** 文件名 */
    
static  String fileName  =   " Blue hills.jpg " ;
    
    
    
public   static   void  main(String[] args) {

        
try  {
            System.out.println(
" connnect... " );
            FTPClient ftp 
=  login();
            
            
            SimpleDateFormat formatter 
=   new  SimpleDateFormat( " yyyy-MM-dd " );
            Calendar  calendar  
=   Calendar.getInstance();
            formatter 
=   new  SimpleDateFormat( " yyyy-MM-dd " );
            String time 
=  formatter.format(calendar.getTime()); 
            
            
try  {
                ftp.mkdir(time);
            } 
catch  (Exception e) {}
            ftp.chdir(time);
            
            
try  {
                ftp.mkdir(
" images " );
            } 
catch  (Exception e) {}
            ftp.chdir(
" images " );
            
            System.out.println(
" make dir success " );

            File file
= new  File(filePath);
            String [] fileList
= file.list();
            
for  ( int  i  =   0 ; i  <  fileList.length; i ++ ) {
                
try  {
                } 
catch  (Exception e) {}
                System.out.println(
" file :  " + (i + 1 ));
                
/** put(源,目的)这里的路径可以用相对路径或绝对路径 */
                ftp.put(filePath 
+  fileList[i], fileList[i]);
            }
            ftp.quit();
            
            ftp 
=  login();
            ftp.chdir(time);
            ftp.put(filePath
+ fileName,fileName);

            ftp.quit();
        } 
catch  (NumberFormatException e) {
            e.printStackTrace();
        } 
catch  (IOException e) {
            e.printStackTrace();
        } 
catch  (FTPException e) {
            e.printStackTrace();
        }

    }
    

    
private   static  FTPClient login()  throws  IOException, FTPException{
        FTPClient ftp 
=   new  FTPClient();
        ftp.setRemoteHost(FTPSERVER);
        ftp.setRemotePort(FTPPORT);
        ftp.setControlEncoding(
" GBK " );
        FTPMessageCollector listener 
=   new  FTPMessageCollector();
        ftp.setMessageListener(listener);
        ftp.connect();
        ftp.login(FTPUSER, FTPPSWD);
        
/** 设置连接模式  */
        ftp.setConnectMode(FTPConnectMode.ACTIVE);
        
/** 设置传送模式  为二进制模式 */
        ftp.setType(FTPTransferType.BINARY);
        System.out.println(
" connnect success " );
        
return  ftp;
    }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值