文档章节

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
ftp4j 1.5.1 发布,Java的FTP类库

ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,...

红薯
2010/05/30
598
0
支持 SFTP -- ftp4j 1.4 发布

ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,...

红薯
2009/05/19
1K
1
ftp4j 1.6 发布,Java的FTP类库

ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,...

鉴客
2011/01/08
1K
0
ftp4j 1.7.2 发布,Java 的 FTP 客户端类库

ftp4j 1.7.2 发布,该版本修复了下载模块方面的bug,正确处理了 "502 Command REST not allowed by policy" 消息。 ftp4j是一个FTP客户端Java类库,实现了FTP客户端 应具有的大部分功能。可以...

oschina
2012/06/27
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何限制用户仅通过HTTPS方式访问OSS?

一、当前存在的问题 当前OSS支持用户使用HTTPS/HTTP协议访问Bucket。但由于HTTP存在安全漏洞。大型企业客户都要求使用HTTPS方式访问OSS,并且拒绝HTTP访问请求。 目前OSS可以通过RAM policy方...

阿里云官方博客
7分钟前
0
0
详解深度学习之经典网络架构——LeNet

一、基本简介 LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition,是一种用于手写体字符识别的非常高效的卷积神经网络。 二、LeNet网络的基本结构 LeNet5 这个网络虽...

AI女神
10分钟前
0
0
日志服务Python消费组实战(二):实时分发数据

场景目标 使用日志服务的Web-tracking、logtail(文件极简)、syslog等收集上来的日志经常存在各种各样的格式,我们需要针对特定的日志(例如topic)进行一定的分发到特定的logstore中处理和...

阿里云云栖社区
11分钟前
1
0
LVM 增加磁盘扩容

sudo parted /dev/sdeparted> mklabel gptparted> mkpart primary lvm ext4 %0 %100parted> printsudo lvmlvm> pvcreate /dev/sde1lvm> vgextend vg-data /dev/sde1lvm> lve......

仪山湖
14分钟前
0
0
Linux挂载本地iso镜像,不联网使用yum命令

上传iso镜像文件到/mnt 目录下 在/mnt目录下创建Server目录 mkdir Server 备份 /etc/yum.repos.d/目录下的repo文件 cd /etc/yum.repos.dmkdir repobakmv *.repo repobak/ 挂载本地iso文件...

AustinYe
15分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部