关闭

java实现文件上传ftp服务器功能

标签: javaftp文件功能上传
174人阅读 评论(0) 收藏 举报
分类:

 java文件上传至ftp服务器

 

废话不多说,直接上代码:此程序运行需要下载apache-commons-net.jar包,自行下载,若没有资源,告诉大家这个网址:http://www.java2s.com/,所有包都可以在这里下载。


package www.zy.email;

import java.io.File;
import java.io.FileInputStream;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPUtil {
    private  FTPClient ftp;      
    /**  
     *   
     * @param path 上传到ftp服务器哪个路径下     
     * @param addr 地址  
     * @param port 端口号  
     * @param username 用户名  
     * @param password 密码  
     * @return  
     * @throws Exception  
     */    
    private  boolean connect(String path,String addr,int port,String username,String password) throws Exception {      
        boolean result = false;      
        ftp = new FTPClient();      
        int reply;      
        ftp.connect(addr,port);      
        ftp.login(username,password);      
        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);      
        reply = ftp.getReplyCode();      
        if (!FTPReply.isPositiveCompletion(reply)) {      
            ftp.disconnect();      
            return result;      
        }      
        ftp.changeWorkingDirectory(path + "\\file");      
        result = true;      
        return result;      
    }      
    /**  
     *   
     * @param file 上传的文件或文件夹  
     * @throws Exception  
     */    
    private void upload(File file) throws Exception{      
        if(file.isDirectory()){           
            ftp.makeDirectory(file.getName());                
            ftp.changeWorkingDirectory(file.getName());      
            String[] files = file.list();             
            for (int i = 0; i < files.length; i++) {      
                File file1 = new File(file.getPath()+"\\"+files[i] );      
                if(file1.isDirectory()){      
                    upload(file1);      
                    ftp.changeToParentDirectory();      
                }else{                    
                    File file2 = new File(file.getPath()+"\\"+files[i]);      
                    FileInputStream input = new FileInputStream(file2);      
                    ftp.storeFile(file2.getName(), input);      
                    input.close();                            
                }                 
            }      
        }else{      
            File file2 = new File(file.getPath());      
            FileInputStream input = new FileInputStream(file2);      
            ftp.storeFile(file2.getName(), input);      
            input.close();        
        }      
    } 
   
   public static void main(String[] args) throws Exception{    
		FTPUtil t = new FTPUtil();
		boolean abc = t.connect("","IP地址", 端口号, "服务器用户名", "服务器密码");
		System.out.println("是否连接上ftp服务器:" + abc);
		File file = new File("F://ftp//file//123.txt");
		if(file.exists()){
			t.upload(file);  
			file.delete();
			System.out.println("上传的文件已经被删除!");
		}else{
			System.out.println("不存在上传的文件!请等待!");
		}
		System.out.println("上传流程结束");
   }   
}



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6017次
    • 积分:298
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    最新评论