`
wanghuapeng0000
  • 浏览: 23676 次
  • 性别: 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");
	}

}

分享到:
评论

相关推荐

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

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

    Java上传下载ftp上的文件

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

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

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

    FTP服务器单文件绿色版FTPServer

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

    FTP中获取文件大小

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

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

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

    Java解析FTP服务器文本文件

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

    获取ftp服务器文件的大小

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

    JAVA处理FTP上的文件

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

    ftp命令拷贝文件

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

    Labview FTP上传文件

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

    python从FTP上下载文件

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

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

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

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

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

    Ftp.rar_ftp_ftp 文件传输_ftp文件传输_文件传输界面_界面端传输

    综上所述,"Ftp.rar_ftp_ftp 文件传输_ftp文件传输_文件传输界面_界面端传输"这个主题涉及到的FTP文件传输系统,不仅包括了FTP协议的核心功能,还强调了其用户友好的界面设计,使得文件在局域网内的传输变得简单快捷...

    FTP JAVA工具类(连接FTP,上传文件到FTP,删除FTP文件,下载FTP文件,检索FTP文件)

    3. **删除FTP文件** 调用`FTPClient`的`deleteFile`方法可以删除FTP服务器上的文件: ```java public boolean deleteFile(String filePath) { try { return ftpClient.deleteFile(filePath); } catch ...

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

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

    java 读取FTP服务器文件

    以下是一份详细的Java FTP文件读取教程,涵盖了相关的重要知识点。 1. **FTP库的选择**: Java标准库中并没有内置FTP客户端,因此我们需要引入第三方库,如Apache Commons Net库。这个库提供了丰富的FTP功能,包括...

    ftp获取文件 ftp获取文件

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

Global site tag (gtag.js) - Google Analytics