FTP服务器文件操作 一:文件上传

版权声明:本文为博主原创文章,未经博主允许不得复制发布,转载没问题的!盗内容你丫就是我儿子。 https://blog.csdn.net/u010785811/article/details/54582623
需要引用到的jar
commons-net-1.4.1.jar
commons-net-2.2.jar
        /**
         * Description: 向FTP服务器上传文件
         *
         * @param url
         *            FTP服务器hostname
         * @param port
         *            FTP服务器端口
         * @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 = null;
            String proxySet = System.getProperty("proxySet");
            //true表示有设置代理
            // 创建FTPClient对象
            if("true".equals(proxySet)) {
                ftp = new FTPHTTPClient(System.getProperty("http.proxyHost"), Integer.parseInt(System.getProperty("http.proxyPort")));
            } else {
                ftp = new FTPClient();
            }

            try {
                int reply;
                // 连接FTP服务器
                // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
                ftp.connect(url, port);
                // 登录ftp
                ftp.login(username, password);
                // 看返回的值是不是230,如果是,表示登陆成功
                reply = ftp.getReplyCode();
                // 以2开头的返回值就会为真
                if (!FTPReply.isPositiveCompletion(reply)) {
                    ftp.disconnect();
                    return success;
                }
                // 转到指定上传目录
                ftp.changeWorkingDirectory(path);
                //如果有配置代理参数时,需要设置如下模式
//                if("true".equals(proxySet)) {
//                    ftp.enterLocalPassiveMode();
//                }
                ftp.enterLocalPassiveMode();

                ftp.setBufferSize(1024);
                ftp.setControlEncoding("GBK");
                ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
                // 将上传文件存储到指定目录
                ftp.storeFile(filename, input);
                // 关闭输入流
                input.close();
                // 退出ftp
                ftp.logout();
                // 表示上传成功
                success = true;
            } catch (Exception e) {
//          e.printStackTrace();
               System.err.println(e);
            } finally {
                if (ftp.isConnected()) {
                    try {
                        ftp.disconnect();
                    } catch (IOException ioe) {
                    }
                }
            }
            return success;
        }

猜你喜欢

转载自blog.csdn.net/u010785811/article/details/54582623