`

ftp上传

    博客分类:
  • FTP
 
阅读更多

1.使用sun.net.ftp.FtpClient 

package org.jasig.cas.a4.tools;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;


import org.json.JSONObject;

import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;


/**
 * Title : AuditLog4AService
 * <p/>
 * Description : 4A审计日志非实时接口
 * <p/>
 * CopyRight : CopyRight (c) 2011
 * <p/>
 * Company : 亚信联创科技(中国)有限公司
 * <p/>
 * JDK Version Used : JDK 5.0 +
 * <p/>
 * Modification History :
 * <p/>
 * 
 * <pre>
 * </pre>
 * 

 */
public class Log4AService {
	
	
    /**
     * Description: 上传文件到FTP服务器
     * 
     * @param file
     *        上传文件
     */
    private static void uploadFile(File file) {
        String ftpServer = "10.1.252.96";
        String ftpUser = "smc";
        String ftpPwd = "smc";
        int ftpPort = 21;
       
        // 连接FTP服务器
        FtpClient ftpClient = new FtpClient();
        try {
            ftpClient.openServer(ftpServer, ftpPort);
            ftpClient.login(ftpUser, ftpPwd);
            ftpClient.cd("smc_bak"); 
            System.out.println("已登录到\"" + ftpClient.pwd() + "\"目录");  
            ftpClient.binary();
        } catch (IOException e) {
            throw new RuntimeException("FTP server connection failed. "
                    + e.getMessage(), e);
        }
        // 上传文件
        TelnetOutputStream tos = null;
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(file);
            String fileName = file.getName();
            tos = ftpClient.put(fileName);
            byte[] bytes = new byte[1024];
            int c;
            while ((c = fis.read(bytes)) != -1) {
                tos.write(bytes, 0, c);
            }
        } catch (FileNotFoundException e) {
            throw new RuntimeException("File is not exist. " + e.getMessage(),
                e);
        } catch (IOException e) {
            throw new RuntimeException("Error uploading files. "
                    + e.getMessage(), e);
        } finally {
            try {
                if (null != tos) {
                    tos.close();
                }
                if (null != fis) {
                    fis.close();
                }
            } catch (IOException ex) {
                throw new RuntimeException(
                    "An error occurred while the stream is closed. "
                            + ex.getMessage(), ex);
            }
        }
    }
    public static void main(String[] args) {
    	File file = new File("c:/temp/1.txt");
		uploadFile(file );
	}

}

 

2.ftp4j 上传

package org.jasig.cas.a4.tools;

import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPFile;

import java.io.File;
import java.io.InputStream;

import org.apache.log4j.Logger;


public class FTPUtil {
	
	private Logger logger = Logger.getLogger(FTPUtil.class);
	
	private FTPClient client = null;
	private String ipAddress = null;
	private Integer port = null;
	private String username = null;
	private String password = null;
	public Boolean connect() throws Exception{
		Boolean bl = false;
		if(ipAddress!=null && port!=null && username!=null && password!=null){
			client = new FTPClient();  
			client.setCharset("utf-8");  
			client.setType(FTPClient.TYPE_BINARY);//二进制
			try {
				client.connect(ipAddress, port);
				client.login(username, password);
				bl = true;
			} catch (Exception e) {
				bl = false;
				logger.error("FTP connect failed!", e);
				throw new Exception("FTP connect failed!");
			} 
			
		}
		return bl;
	}

	public Boolean upload(File file) throws Exception{
		Boolean result = false;
		if(file!=null && file.exists()){
			try {
//				FTPUploadListener listener = new FTPUploadListener();
				client.upload(file);
			} catch (Exception e) {
				logger.error("FTP upload failed!"+file.getAbsolutePath(), e);
				throw new Exception("FTP upload failed! fileName:"+file.getName());
			}
		}else{
			logger.info("file not exists!");
		}
		return result;
	}
public static void main(String[] args) throws Exception {
		  FTPUtil ftp = new FTPUtil();
//		 ftp.init("10.1.253.117", 21, "bam", "bam");
		 ftp.init("10.1.252.96", 21, "smc", "smc");
		 File file = new File("c:/temp/1.txt");
		 System.out.println(file.exists());
		 ftp.connect();
		 ftp.upload(file);
	}
}

 

分享到:
评论

相关推荐

    FTP控件_ftp上传_文件上传_ftp控件_FTP上传控件_

    "FTP上传控件"是专为实现文件上传功能而设计的,它简化了FTP客户端的实现过程,开发者无需深入了解FTP协议的细节,就能在应用中实现文件上传功能。"FTP上传控件"的关键特性包括支持超大文件上传和断点续传。 超大...

    VB FTP上传下载

    ### VB FTP上传下载知识点解析 #### 一、概述 在提供的代码示例中,主要涉及了使用Visual Basic(简称VB)进行FTP(File Transfer Protocol,文件传输协议)上传与下载的功能实现。FTP是一种用于在网络上进行文件...

    Labview FTP上传文件

    Labview FTP上传文件是利用Labview(Laboratory Virtual Instrument Engineering Workbench)这一强大的图形化编程环境,通过FTP(File Transfer Protocol)协议实现文件的远程传输。FTP是一种标准网络协议,用于在...

    JAVA实现简单的对FTP上传与下载

    总的来说,使用Java实现FTP上传和下载涉及网络通信、文件操作和错误处理等多个方面的知识。通过"ftpLoadDown.jar"库,我们可以简化这个过程,使得开发者可以专注于业务逻辑,而无需关心底层的FTP协议细节。在实际...

    VB API 实现FTP上传下载源代码

    **VB API FTP上传下载源代码详解** 在信息技术领域,FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。在VB(Visual Basic)环境中,我们可以使用API(Application Programming Interface...

    golang实现ftp上传资源

    在"Go实现FTP上传资源"这个主题中,我们需要关注以下几个关键知识点: 1. **FTP协议基础**:FTP协议由两部分组成,即控制连接和数据连接。控制连接用于发送命令和接收响应,数据连接则用于实际的文件传输。FTP支持...

    C++ libcurl ftp上传文件

    BoschNetConn可能是你的项目或库的名字,它可能封装了这些libcurl的FTP上传操作,提供了一种更方便的方式来处理网络连接。如果你正在使用这个库,你应该查阅其文档以了解如何具体使用它的API来上传文件。 总之,C++...

    FTP上传与下载程序PB

    在这个"FTP上传与下载程序PB"的案例中,我们将会探讨如何使用PowerBuilder来实现FTP功能,包括文件的上传和下载,以及可能涉及的自动升级机制。 首先,理解FTP的基本概念至关重要。FTP允许用户在两台计算机之间交换...

    FTP上传实例(带进度条)

    这个FTP上传实例提供了可视化的进度反馈,使得用户能够清晰地看到文件上传的进度,提高了用户体验。 FTP上传的核心原理是通过FTP客户端连接到FTP服务器,然后将本地文件分块发送到服务器。在这个过程中,通过跟踪已...

    winform实现FTP上传、下载、删除文件

    **FTP上传文件:** 要实现FTP文件上传,我们首先创建一个`FtpWebRequest`对象,设置其方法为`WebMethod.UploadFile`,然后提供FTP服务器的URL、用户名和密码。接着,打开一个流写入器,将本地文件内容写入请求的主体...

    FTP上传(断点续传)更新进度条

    FTP上传和断点续传是网络传输中两个重要的概念,特别是在大文件传输场景下,而更新进度条则是提升用户体验的关键元素。在这个公司项目的第一个版本中,我们关注的是如何实现一个功能完善的FTP上传系统,该系统支持...

    FTP上传 实现网站预览

    FTP上传实现网站预览的过程涉及多个步骤和技术,下面将详细解释这一过程。 1. FTP客户端与服务器: FTP服务需要一个服务器端和客户端。服务器端是存储网站文件的地方,而客户端是用户用来连接服务器并管理文件的...

    curl实现ftp上传下载

    FTP上传涉及到将本地文件发送到远程FTP服务器。使用libcurl,我们可以通过以下步骤实现: 1. **初始化libcurl**:创建一个`CURL`指针,并调用`curl_global_init()`初始化全局设置。 2. **设置URL**:使用`curl_...

    萤石云摄像头自动截图以及FTP上传

    萤石云摄像头自动截图以及FTP上传是一个集成自动化与远程存储功能的系统,它结合了现代监控设备的技术优势,为用户提供了一种高效、便捷的方式来管理和获取摄像头捕获的图像。在这个系统中,萤石云摄像头扮演着核心...

    Delphi Ftp上传程序

    Delphi FTP上传程序是使用Delphi7开发的一个应用程序,它实现了通过FTP(文件传输协议)将本地文件上传到远程服务器的功能。FTP是一种广泛用于互联网上的标准协议,允许用户在计算机之间传输文件。在这个项目中,...

    ftp上传程序(典型的ftp上传应用)

    FTP上传程序就是实现这一功能的应用,允许用户将本地计算机上的文件或目录上传到远程FTP服务器上。这种程序通常具有用户友好的界面,简化了文件传输过程。 在"FTP上传程序(典型的ftp上传应用)"中,重点在于程序...

    FTP上传与下载pb9.0code

    标题“FTP上传与下载pb9.0code”指的是使用PowerBuilder 9.0(简称PB9)开发的一个程序,该程序实现了FTP(File Transfer Protocol)的上传和下载功能。PowerBuilder是一款强大的可视化编程工具,特别适合于构建...

    ftp上传demo

    FTP(File Transfer Protocol)是一种基于TCP/IP协议的...综上所述,FTP上传涉及到网络通信、身份验证、文件操作等多个方面,理解并熟练运用FTP上传能有效提高工作效率,特别是在需要跨网络共享和管理文件的环境中。

    ftp上传工具, 上传ftp服务器

    在这个场景中,我们关注的是一个基于Java开发的FTP上传工具,它能够帮助用户将本地文件上传到FTP服务器。以下是一些关于FTP上传工具和相关技术的知识点: 1. **FTP基本概念**: FTP是一个应用层协议,基于TCP/IP...

    非常好用的ftp上传工具

    很好用的ftp上传工具,上传速度也很快,很好用的ftp上传工具,上传速度也很快,很好用的ftp上传工具,上传速度也很快,

Global site tag (gtag.js) - Google Analytics