当前位置 博文首页 > ftp管理文件,JavaWeb使用ftp上传下载以及访问文件

    ftp管理文件,JavaWeb使用ftp上传下载以及访问文件

    作者:xiaoyingying 时间:2021-07-15 11:18

        主要就是把对ftp的访问封装成一个常用类就行了。
        首先是要学会怎么Java怎么用,我是将其封装成我自己的一个工具包,这样下次使用的时候就可以直接拿出来用了。
        packagecom.utils;
        importjava.io.InputStream;
        /**
        *
        *@authorPanpan
        *
        */
        publicclassFtpBean{
        privateStringftpUrl;//ftp地址
        privateintport;//端口号是21
        privateStringuserName;//ftp用户名
        privateStringpassWord;//ftp密码
        privateStringftpPath;//ftp上可以访问的文件路径
        privateStringfileName;//文件名
        privateInputStreaminput;//输入流(用做上传文件或在ftp新建文件使用)
        privateStringlocalPath;//用于从ftp上下载文件存放的路径
        publicFtpBean(){
        super();
        //TODOAuto-generatedconstructorstub
        }
        publicFtpBean(StringftpUrl,intport,StringuserName,StringpassWord,StringftpPath,StringfileName,
        InputStreaminput,StringlocalPath){
        super();
        this.ftpUrl=ftpUrl;
        this.port=port;
        this.userName=userName;
        this.passWord=passWord;
        this.ftpPath=ftpPath;
        this.fileName=fileName;
        this.input=input;
        this.localPath=localPath;
        }
        }
        packagecom.utils;
        importjava.io.ByteArrayInputStream;
        importjava.io.File;
        importjava.io.FileInputStream;
        importjava.io.FileNotFoundException;
        importjava.io.FileOutputStream;
        importjava.io.IOException;
        importjava.io.InputStream;
        importjava.io.OutputStream;
        importjava.io.UnsupportedEncodingException;
        importorg.apache.commons.net.ftp.FTP;
        importorg.apache.commons.net.ftp.FTPClient;
        importorg.apache.commons.net.ftp.FTPFile;
        importorg.apache.commons.net.ftp.FTPReply;
        importorg.junit.Test;
        publicclassFtpUtil{
        /**
        *Description:向FTP服务器上传文件
        *@Version1.0Jul27,20084:31:09PMby崔红保(cuihongbao@d-heaven.com)创建
        *@paramurlFTP服务器hostname
        *@paramportFTP服务器端口
        *@paramusernameFTP登录账号
        *@parampasswordFTP登录密码
        *@parampathFTP服务器保存目录
        *@paramfilename上传到FTP服务器上的文件名
        *@paraminput输入流
        *@return成功返回true,否则返回false
        */
        publicstaticbooleanuploadFile(FtpBeanftpBean){
        booleansuccess=false;
        FTPClientftp=newFTPClient();
        try{
        intreply;
        ftp.connect(ftpBean.getFtpUrl(),ftpBean.getPort());//连接FTP服务器
        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
        ftp.login(ftpBean.getUserName(),ftpBean.getPassWord());//登录
        ftp.setFileType(FTP.BINARY_FILE_TYPE);//设置文件类型为binary
        reply=ftp.getReplyCode();
        if(!FTPReply.isPositiveCompletion(reply)){
        ftp.disconnect();
        returnsuccess;
        }
        ftp.changeWorkingDirectory(ftpBean.getFtpPath());
        //設置為被動模式
        //ftp.enterLocalPassiveMode();
        ftp.storeFile(ftpBean.getFileName(),ftpBean.getInput());
        ftpBean.getInput().close();
        ftp.logout();
        success=true;
        }catch(IOExceptione){
        e.printStackTrace();
        }finally{
        if(ftp.isConnected()){
        try{
        ftp.disconnect();
        }catch(IOExceptionioe){
        }
        }
        }
        returnsuccess;
        }
        }
        原文链接:https://blog.csdn.net/lp15203883326/article/details/80657642