您的位置:首页 > 编程语言 > Java开发

java操作FTP,实现文件上传下载删除操作

2015-08-10 08:48 1061 查看
上传文件到FTP服务器:

Java代码  


/** 

     * Description: 向FTP服务器上传文件 

     * @param url FTP服务器hostname 

     * @param port FTP服务器端口,如果默认端口请写-1 

     * @param username FTP登录账号 

     * @param password FTP登录密码 

     * @param path FTP服务器保存目录 

     * @param filename 上传到FTP服务器上的文件名 

     * @param input 输入流 

     * @return 成功返回true,否则返回false 

     */  

    public static boolean uploadFile(String url, int port, String username, String password, String path,  

        String filename, InputStream input)  

    {  

        boolean success = false;  

        FTPClient ftp = new FTPClient();  

        try  

        {  

            int reply;  

              

            // 连接FTP服务器  

            if (port > -1)  

            {  

                ftp.connect(url, port);  

            }  

            else  

            {  

                ftp.connect(url);  

            }  

              

            // 登录FTP  

            ftp.login(username, password);  

            reply = ftp.getReplyCode();  

            if (!FTPReply.isPositiveCompletion(reply))  

            {  

                ftp.disconnect();  

                return success;  

            }  

            ftp.changeWorkingDirectory(path);  

            ftp.storeFile(filename, input);  

              

            input.close();  

            ftp.logout();  

            success = true;  

        }  

        catch (IOException e)  

        {  

            success = false;  

            logger.error(EXCEPTION_NAME, e);  

        }  

        finally  

        {  

            if (ftp.isConnected())  

            {  

                try  

                {  

                    ftp.disconnect();  

                }  

                catch (IOException e)  

                {  

                    logger.error(EXCEPTION_NAME, e);  

                }  

            }  

        }  

        return success;  

    }  

从FTP服务器下载文件:

Java代码  


/** 

     * Description: 从FTP服务器下载文件 

     * @Version1.0 Jul 27, 2008 5:32:36 PM by 崔红保(cuihongbao@d-heaven.com)创建 

     * @param url FTP服务器hostname 

     * @param port FTP服务器端口 

     * @param username FTP登录账号 

     * @param password FTP登录密码 

     * @param remotePath FTP服务器上的相对路径 

     * @param fileName 要下载的文件名 

     * @param localPath 下载后保存到本地的路径 

     * @return 

     */  

    public static boolean downloadFile(String url, int port, String username, String password, String remotePath,  

        String fileName, String localPath)  

    {  

        boolean success = false;  

        FTPClient ftp = new FTPClient();  

        try  

        {  

            int reply;  

              

            // 连接FTP服务器  

            if (port > -1)  

            {  

                ftp.connect(url, port);  

            }  

            else  

            {  

                ftp.connect(url);  

            }  

              

            ftp.login(username, password);//登录  

            reply = ftp.getReplyCode();  

            if (!FTPReply.isPositiveCompletion(reply))  

            {  

                ftp.disconnect();  

                return success;  

            }  

            ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录  

            FTPFile[] fs = ftp.listFiles();  

            for (FTPFile ff : fs)  

            {  

                if (ff.getName().equals(fileName))  

                {  

                    File localFile = new File(localPath + "/" + ff.getName());  

                      

                    OutputStream is = new FileOutputStream(localFile);  

                    ftp.retrieveFile(ff.getName(), is);  

                    is.close();  

                }  

            }  

              

            ftp.logout();  

            success = true;  

        }  

        catch (IOException e)  

        {  

            logger.error(EXCEPTION_NAME, e);  

        }  

        finally  

        {  

            if (ftp.isConnected())  

            {  

                try  

                {  

                    ftp.disconnect();  

                }  

                catch (IOException e)  

                {  

                    logger.error(EXCEPTION_NAME, e);  

                }  

            }  

        }  

        return success;  

    }  

 

删除FTP服务器上的文件:

Java代码  


/** 

     * <删除FTP上的文件> 

     * <远程删除FTP服务器上的录音文件> 

     * @param url FTP服务器IP地址 

     * @param port FTP服务器端口 

     * @param username FTP服务器登录名 

     * @param password FTP服务器密码 

     * @param remotePath 远程文件路径 

     * @param fileName 待删除的文件名 

     * @return 

     * @see [类、类#方法、类#成员] 

     */  

    public static boolean deleteFtpFile(String url, int port, String username, String password, String remotePath,  

        String fileName)  

    {  

        boolean success = false;  

        FTPClient ftp = new FTPClient();  

        try  

        {  

            int reply;  

              

            // 连接FTP服务器  

            if (port > -1)  

            {  

                ftp.connect(url, port);  

            }  

            else  

            {  

                ftp.connect(url);  

            }  

              

            // 登录  

            ftp.login(username, password);  

            reply = ftp.getReplyCode();  

            if (!FTPReply.isPositiveCompletion(reply))  

            {  

                ftp.disconnect();  

                return success;  

            }  

              

            // 转移到FTP服务器目录  

            ftp.changeWorkingDirectory(remotePath);  

            success = ftp.deleteFile(remotePath + "/" + fileName);  

            ftp.logout();  

        }  

        catch (IOException e)  

        {  

            logger.error(EXCEPTION_NAME, e);  

            success = false;  

        }  

        finally  

        {  

            if (ftp.isConnected())  

            {  

                try  

                {  

                    ftp.disconnect();  

                }  

                catch (IOException e)  

                {  

                    logger.error(EXCEPTION_NAME, e);  

                }  

            }  

        }  

        return success;  

    }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java ftp