java实现ftp上传

来源:互联网 发布:随 知乎 编辑:程序博客网 时间:2024/05/16 10:33

 

需要导入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;
    }

}
原创粉丝点击