文档章节

JAVA实现FTP文件上传功能

Release
 Release
发布于 2014/06/18 16:29
字数 342
阅读 43
收藏 1
package com.sinosoft.sepmis.util;
     
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;


/**
* Java自带的API对FTP的操作
* @Title:Ftp.java
* @author: shanhongzhi 
*/
public class FtpUtil {
    /** 
     * 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)  throws Exception
    {  
        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(); 
            System.out.println(reply);
            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;  
            throw e;
        }  
        finally  
        {  
            if (ftp.isConnected())  
            {  
                try  
                {  
                    ftp.disconnect();  
                }  
                catch (IOException e)  
                {  
                    throw e;
                }  
            }  
        }  
        return success;  
    }  
   public static void main(String agrs[]) {
      try {
          File file = new File("E:\\1.txt");
          FileInputStream in = new FileInputStream(file);
          /*
           * 使用默认的端口号、用户名、密码以及根目录连接FTP服务器
          */
          //返回true上传成功,否则上传失败
         // FtpUtil.uploadFile("192.168.61.209", -22, "instiaci", "instiaci", "/db2home/instiaci/personal/shanhz","2.txt",in);
          FtpUtil.uploadFile("192.168.61.104", 22, "administrator", "123456", "/sinopipi/IC","6.txt",in);
    } catch (Exception e) {
        e.printStackTrace();
    }
    }
}

说明:使用apache提供的commons-net-2.0.jar自带的ftp功能,也可以实现文件下载功能






































© 著作权归作者所有

共有 人打赏支持
Release
粉丝 1
博文 13
码字总数 2909
作品 0
昌平
程序员
私信 提问
Java中实现FTP上传下载文件的功能,完整代码

一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上穿件文件夹、检测文件夹是否存在等,里面的有些代码...

Carl_
2014/11/12
0
4
Java使用SFTP和FTP两种连接方式实现对服务器的上传下载

一、Java实现对SFTP服务器的文件的上传下载 1、添加maven依赖: 2、SFTPUtils工具类: 二、Java实现对FTP服务器的文件的上传下载 有时系统可能要兼容ftp和sftp,而ftp的端口一般是21,sftp对...

灌南高手No1
09/12
0
0
Apache Commons包简介

Components Description Latest Version Released BeanUtils 易于使用的包装在Java反射和内省API 1.9.2 2014-05-29 CLI 命令行参数解析 1.2 2009-03-19 Codec 一般的编码/解码算法(例如语音...

银月光海
2015/01/15
0
0
Apache commons ftp API 的Spike

由于公司给了我一个传FTP的任务,刚好可以学习一下,同时也进行了一些单元测试,spike了一把,哈哈。分享一下。 这里只对最简单常用的FtpClient的上传下载列表功能进行测试学习使用^-^ 创建一...

XzhiF
2013/12/13
0
9
libcurl在android下的移植、编译与测试以及java接口的封装

curl是利用URL语法在命令行方式下工作的文件传输工具 它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。 curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT...

zhoulc
2013/03/05
0
2

没有更多内容

加载失败,请刷新页面

加载更多

利用cefSharp实现网页自动注册登录的需要注册的一些事项

最近朋友有个需要自动注册登录点击的事,我帮着写了写,好久没写过这东西了,在写的过程中总结了需要注意的一些事项。 一、换IP之后要测试一下速度,我目前用的最简单的测试方法就是20-30秒加...

我退而结网
14分钟前
1
0
Go语言中使用 BoltDB数据库

boltdb 是使用Go语言编写的开源的键值对数据库,Github的地址如下: https://github.com/boltdb/bolt boltdb 存储数据时 key 和 value 都要求是字节数据,此处需要使用到 序列化和反序列化。...

Oo若离oO
14分钟前
1
0
zookeeper分布式锁

//lock 锁 定义分布式锁public interface Lock {//获取锁public void getLock();//释放锁public void unLock();} public abstract class ZookeeperAbstractLock implements Loc......

熊猫你好
22分钟前
0
0
mysql_事务隔离机制

事务隔离机制 事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在mysql中,事务支持是在引擎层实现的。mysql是一个支持多引擎的系统,但并不是所有引擎都支持事务,比如mysql...

grace_233
24分钟前
0
0
不学无数——Java中IO和NIO

JAVA中的I/O和NIO I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其...

不学无数的程序员
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部