java ftp上传下载文件,如何把文件上传到ftp服务器

  java ftp上传下载文件,如何把文件上传到ftp服务器

  本文分享Java上传文件到ftp服务器的具体代码,供大家参考。具体内容如下

  首先简单介绍一下什么是FTP,以及如何在自己的电脑上搭建一个ftp服务器;

  —— FTP是文件传输协议(FTP)是一种客户端/服务器协议,用于向主机传输文件或与主机交换文件。它可以使用用户名和密码进行身份验证。匿名FTP允许用户在没有用户ID或密码的情况下从互联网访问文件、程序和其他数据。简而言之就是方便一个可以上传下载文件的地方。

  要实现上传文件,首先要在本地创建一个ftp服务器(win10系统);

  首先,在本地创建另一个用户。

  第二,创建FTP目录

  第三,账号绑定FTP目录,登录验证

  4.FTP目录创建后,可以通过你选择的ip访问FTP ://ip地址,账号密码就是你设置的用户的账号密码。

  下面写javaFTP上传工具类代码,复制即可。

  Maven依赖性

  dependency groupId commons-net/groupId artifactId commons-net/artifactId version 3.1/version/dependency public class FTP util {/* * * description :将文件上传到FTP服务器* @param host FTP服务器主机名* @param port FTP服务器端口* @param用户名FTP登录帐户* @param password FTP登录密码* @param basePath FTP服务器基目录* @param filePath FTP服务器文件存储路径文件的路径是base Path file Path * @ param filename * @FTP client FTP=new FTP client();尝试{ int replyftp.connect(主机,端口);//连接FTP服务器//如果采用默认端口,可以使用ftp.connect(host)直接连接FTP服务器ftp.login(用户名,密码);//登录reply=FTP . getreplycode();如果(!FTP preply . ispositivecompletion(reply)){ FTP . disconnect();返回结果;}//如果(!FTP . change working directory(base path file path)){//如果目录不存在,创建一个目录字符串[]dirs=file path . split(/);String tempPath=basePathfor(String dir : dirs){ if(null==dir 。equals(dir))继续;tempPath=/ dir;如果(!FTP . changeworkingddirectory(tempPath)){//

  进不去目录,说明该目录不存在                        if (!ftp.makeDirectory(tempPath)) { //创建目录                            //如果创建文件目录失败,则返回                            System.out.println("创建文件目录"+tempPath+"失败");                            return result;                        } else {                            //目录存在,则直接进入该目录                            ftp.changeWorkingDirectory(tempPath);                        }                    }                }            }            //设置上传文件的类型为二进制类型            ftp.setFileType(FTP.BINARY_FILE_TYPE);            //上传文件            if (!ftp.storeFile(filename, input)) {                return result;            }            input.close();            ftp.logout();            result = true;        } catch (IOException e) {            e.printStackTrace();        } finally {            if (ftp.isConnected()) {                try {                    ftp.disconnect();                } catch (IOException ioe) {                }            }        }        return result;    }    /**     * Description: 从FTP服务器下载文件     * @param host FTP服务器hostname     * @param port FTP服务器端口     * @param username FTP登录账号     * @param password FTP登录密码     * @param remotePath FTP服务器上的相对路径     * @param fileName 要下载的文件名     * @param localPath 下载后保存到本地的路径     * @return     */    public static boolean downloadFile(String host, int port, String username, String password, String remotePath,                                       String fileName, String localPath) {        boolean result = false;        FTPClient ftp = new FTPClient();        try {            int reply;            ftp.connect(host, port);            // 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器            ftp.login(username, password);// 登录            reply = ftp.getReplyCode();            if (!FTPReply.isPositiveCompletion(reply)) {                ftp.disconnect();                return result;            }            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();            result = true;        } catch (IOException e) {            e.printStackTrace();        } finally {            if (ftp.isConnected()) {                try {                    ftp.disconnect();                } catch (IOException ioe) {                }            }        }        return result;    }    //ftp上传文件测试main函数    public static void main(String[] args) {        //上传        try {            FileInputStream in=new FileInputStream(new File("D:\text.txt"));            boolean flag = uploadFile("ip", 21, "username", "password", "/text","/wenjian", "hello.txt", in);            System.out.println(flag);        } catch (FileNotFoundException e) {            e.printStackTrace();        }        //下载        boolean b = downloadFile("ip", 21, "username", "password", "/text/wenjian", "hello.txt", "D://");        System.out.println(b);    }java代码中都有注释,就不解释了,下面有一个main 方法,可以直接进行测试。以上就是使用java向FTP文件上传的全部内容。

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • window10如何搭建ftp服务器,搭建ftp文件服务器,window搭建ftp服务器详细教程
  • window10如何搭建ftp服务器,如何部署ftp服务器
  • win10搭建FTP服务器,局域网共享,win10搭建FTP服务器,局域网共享,WIN10家庭版搭建FTP文件服务器详细教程
  • Win10搭建ftp服务器,window10如何搭建ftp服务器_1
  • win10搭建FTP服务器,window10如何搭建ftp服务器
  • Win10搭建ftp服务器,window10如何搭建ftp服务器,Win10系统搭建ftp文件服务器详细教程
  • win10搭建FTP服务器,window10如何搭建ftp服务器,win10搭建配置ftp服务器的方法
  • win10家庭版 ftp,win10搭建FTP服务器,局域网共享
  • win10家庭版 ftp,win10搭建FTP服务器,局域网共享,WIN10家庭版搭建FTP文件服务器详细教程
  • ,,架设自己的FTP服务器 Serv-U详细配置图文教程[推荐]
  • ,,命令行下的FTP使用详解
  • ,,Xftp的下载和安装教程(图文教程)
  • ,,Windows搭建FTP服务器详细教程
  • ,,Windows7下FTP搭建图文教程
  • ,,windows10本地搭建FTP服务器图文教程
  • 留言与评论(共有 条评论)
       
    验证码: