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

时间:2022-08-28 22:50:04
需要引用到的jar
commons-net-1.4.1.jarcommons-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;        }

相关文章