`
wanghuapeng0000
  • 浏览: 23542 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

往ftp 上写文件

阅读更多
使用sun提供的jar 往ftp上写文件



public class FtpFileManager {
	FtpClient ftpclient;
	Logger log4j=Logger.getLogger(FtpFileManager.class);
	
	private boolean connectServer(){
		String serverName=Constants.getParamVal("ftp.server","");
		String userName=Constants.getParamVal("ftp.user","");
		String password=Constants.getParamVal("ftp.password","");
		int port=21;
		try{
			port=Integer.parseInt(Constants.getParamVal("ftp.port","21"));
		}catch(NumberFormatException e){
			log4j.error("config.properties 文件中,ftp端口必须设置为数字", e);
		}
		try {
			ftpclient=new FtpClient();
			ftpclient.openServer(serverName, port);
			ftpclient.login(userName, password);
			ftpclient.binary();  // 二进制传输
		} catch (IOException e) {
			log4j.error("ftp服务器登陆失败,IP="+serverName+",userName="+userName+"password="+password, e);
			return false;
		}
		
		return true;
		
	}
	
	/**
	 *  往ftp服务器上写文件
	 * @param path
	 * @param filename
	 * @param content
	 * @throws IOException 
	 */
	private void saveFileToServer(String path,String filename,String content) throws IOException{
		TelnetOutputStream out=null;
		InputStream in=null;
		try{
			try{
				ftpclient.cd(path);
			}catch(FileNotFoundException e){
				ftpclient.sendServer("XMKD"+path+"\r\n");  // 新建路径
				ftpclient.readServerResponse();
				ftpclient.cd(path);
			}
			out=ftpclient.put(filename);
			byte[] bytes=content.getBytes();
			in=new ByteArrayInputStream(bytes);
			IOUtils.copy(in, out);
		}catch(Exception e){
			log4j.error("ftp  写文件时异常,文件名:"+filename,e);
		}finally{
			if(in!=null){
				in.close();
			}
			if(out!=null){
				out.close();
			}
		}
		
	}
	
	/**
	 *  文件上传
	 * @param path
	 * @param filename
	 * @param content
	 */
	public void upload(String path,String filename,String content){
		
		try {
			this.connectServer();
			this.saveFileToServer(path, filename, content);
		} catch (IOException e) {
			log4j.error("IO 流关闭异常", e);
		}finally{
			this.logout();
		}
	}
	
	/**
	 *  关闭ftp
	 */
	private void logout(){
		if(ftpclient.serverIsOpen()){
			try {
				ftpclient.closeServer();
			} catch (IOException e) {
				log4j.error("关闭ftp 时异常", e);
			}
		}
	}
	
	public static void main(String[] args) {
		FtpFileManager f=new FtpFileManager();
		f.upload("a", "1.txt", "130");
	}

}

分享到:
评论

相关推荐

    Java上传下载ftp上的文件

    本文将深入探讨如何使用Java实现FTP文件的上传和下载功能,以满足标题和描述中的需求。作者宋海康提供的案例将为我们提供一个基础,帮助我们理解这个过程。 首先,我们需要导入Java FTP库,通常是`commons-net`库,...

    VB实现在FTP上生成目录及FTP上的文件复制

    ### VB 实现在FTP上生成目录及FTP上的文件复制 #### 概述 本文将详细介绍如何使用Visual Basic(VB)在FTP服务器上创建目录并实现文件复制功能。这涉及到调用WinINET DLL中的函数来实现与FTP服务器的交互。具体包括...

    FTP中获取文件大小

    在IT行业中,FTP(File Transfer Protocol)是一种广泛用于在互联网上传输文件的协议。它允许用户从远程服务器上下载文件,或者将文件上传到服务器。本文将深入探讨如何使用Java来获取FTP服务器上的文件大小以及...

    VC中使用ftp进行文件的读写

    以下是使用WinInet API进行FTP文件读写的基本步骤: 1. **初始化Internet连接**: - 使用`InternetOpen()`函数初始化Internet会话,设置代理服务器(如果需要)和用户代理字符串。 - 示例代码:`HINTERNET ...

    FTP服务器单文件绿色版FTPServer

    FTP服务器是一种用于在互联网上进行文件传输的服务,它允许用户从一台计算机(客户端)向另一台计算机(服务器)上传或下载文件。FTP(File Transfer Protocol)是这项服务的基础协议,它是一个标准网络协议,用于在...

    c++实现ftp list所有文件与目录 & ftp down所有文件

    在本文中,我们将深入探讨如何使用C++编程语言结合libcurl库来实现FTP(File Transfer Protocol)服务的两个主要功能:列出所有文件和目录,并下载所有文件。FTP是一种广泛使用的互联网协议,用于在服务器和客户端...

    Labview FTP上传文件

    Labview FTP上传文件是利用Labview(Laboratory Virtual ...总的来说,Labview FTP上传文件涉及到网络通信、文件操作、错误处理等多个方面,通过熟练掌握这些知识点,用户可以构建高效、可靠的FTP文件传输系统。

    Java解析FTP服务器文本文件

    在下载文件时,我们需要注意编码格式的转换,因为FTP服务器上默认的编码方式为iso-8859-1,而本地操作系统的目录名和文件名默认的编码方式为GBK。因此,我们需要进行编码格式转换,否则会出现乱码或错误。 在下载...

    Java实现FTP批量大文件上传下载

    让我们设想这样一个情形--我们想写一个纯 Java 的从一个远程计算机上运行的 FTP 服务器上传下载文件的应用程序;我们还希望能够得到那些供下载的远程文件的基本文件信息,如文件名、数据或者文件大小等。尽管从头...

    JAVA处理FTP上的文件

    以上步骤提供了处理FTP文件的基本流程,但实际应用中可能需要根据具体需求进行调整,例如添加文件列表的遍历、断点续传、文件重命名等功能。总的来说,Java结合适当的库,能够高效、灵活地处理FTP上的文件操作。

    ftp命令拷贝文件

    FTP(File Transfer Protocol)即文件传输协议,是一种用于在网络上进行文件传输的标准协议。FTP基于客户端/服务器模型,支持两种数据传输模式:ASCII模式和二进制模式。通过FTP,用户可以在两台计算机之间上传或...

    获取ftp服务器文件的大小

    FTP(File Transfer Protocol)即文件传输协议,是一种用于在网络上进行文件传输的标准协议。它支持客户端与服务器之间的双向文件传输,是互联网上最早的一种服务之一。FTP使用TCP/IP作为其网络层协议,提供了一个...

    python从FTP上下载文件

    Python 从 FTP 上下载文件 Python 语言可以通过 ftplib 模块来实现 FTP 客户端功能,从 FTP 服务器上下载文件。本文将详细介绍 Python 中的 FTP 操作流程和实现方法。 FTP 操作基本流程 1. 连接 FTP 服务器:使用...

    webFTP一个PHP写的在线FTP文件管理系统

    webFTP是一个基于PHP开发的在线FTP文件管理系统,它允许用户通过Web界面进行FTP服务器的文件管理和操作,极大地提升了FTP管理的便捷性和灵活性。作为一个轻量级的解决方案,webFTP使得用户无需安装专门的FTP客户端...

    pdf.js在java web项目中远程预览ftp上的pdf文件.docx

    "pdf.js在java web项目中远程预览ftp上的pdf文件" 标题:pdf.js在java web项目中远程预览ftp上的pdf文件 描述:本文档详细介绍了使用pdf.js在Java web项目中远程预览FTP服务器上的PDF文件的方法。通过配置pdf.js...

    获取FTP服务器上的文件大小源码

    在IT行业中,FTP(File Transfer Protocol)是一种广泛用于在互联网上传输文件的标准协议。通过FTP,用户可以连接到远程服务器,进行文件的上传、下载、查看属性等操作。本篇文章将详细讲解如何编写源码来获取FTP...

    ftp获取文件 ftp获取文件

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。它允许用户从远程服务器下载文件,或者将文件上传到服务器,从而实现数据的共享和交换。FTP的核心概念包括客户端和服务器,...

    C#下载FTP上指定文件

    `GetUriString`方法用于构建完整的FTP文件路径。根据当前目录是否以斜杠结尾,它会在文件名前面添加斜杠,确保路径的正确性。 要下载FTP上的指定文件,我们可以按照以下步骤进行: 1. 使用`CreateFtpWebRequest`...

    VC++ 遍历FTP文件目录

    本文将深入探讨如何利用VC++遍历FTP文件目录,结合Socket编程和文件操作SDK来实现这一功能。 首先,FTP是一种用于在网络上进行文件传输的标准协议,它允许用户从远程主机上下载文件或上传文件到远程主机。在VC++中...

    C# FTP上传下载文件

    FTP上传下载文件

Global site tag (gtag.js) - Google Analytics