FTP上传文件

来源:互联网 发布:深圳青年旅舍 知乎 编辑:程序博客网 时间:2024/06/06 18:14
    FtpUpload t = new FtpUpload();            System.out.println("new FtpUpload----->");            try            {                // 连接ftp服务器                t.connect("", "1.1.1.1", 21, "username", "123");                System.out.println("connect------------>>>");                // 将服务器本地的文件上传到ftp服务器                File file = new File(realFilePath);                System.out.println("upload--before");                t.upload(file);                System.out.println("upload--after");                // 删除本地保存的文件                DelFolder.delFolder(realFilePath);            }            catch (Exception e)            {                e.printStackTrace();            }
import java.io.File;import java.io.FileInputStream;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;public class FtpUpload{    public FTPClient ftp;    /**       *        * @param path 上传到ftp服务器哪个路径下          * @param addr 地址       * @param port 端口号       * @param username 用户名       * @param password 密码       * @return       * @throws Exception       */    public 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);        result = true;        return result;    }    /**       *        * @param file 上传的文件或文件夹       * @throws Exception       */    public void upload(File file) throws Exception    {        if (file.isDirectory())        {            System.out.println("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        {            System.out.println("file not isDirectory");            System.out.println("file.getPath()----->" + file.getPath());            File file2 = new File(file.getPath());            FileInputStream input = new FileInputStream(file2);            System.out.println("ftp.storeFile before");            ftp.enterLocalPassiveMode();            ftp.storeFile(new String(file2.getName().getBytes("UTF-8"), "iso-8859-1"), input);            System.out.println("ftp.storeFile after");            input.close();        }    }}
0 0
原创粉丝点击