`
sunnylocus
  • 浏览: 876813 次
  • 性别: Icon_minigender_1
  • 来自: 美国图森
社区版块
存档分类
最新评论

FTP文件上传

阅读更多
package com.bill99.ftpsvr;

import java.io.FileInputStream;
import java.io.IOException;

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


public class FtpTest {
	private final String FTP_IP="127.0.0.1";
	private final int FTP_PORT=21;
	private String ftpfilePath = "/wf"; //ftp存放文件的目录,表示上传的文件入到根目录下的wf文件夹
	private String loginName;  //登陆名
	private String loginpwd;   //密码
	private sun.net.ftp.FtpClient ftpclient = null;
	
	/**
	 * 构造函数
	 * @param loginName 用户名
	 * @param loginpwd 密码
	 */
	public FtpTest(String loginName,String loginpwd){
		this.loginName = loginName;
		this.loginpwd = loginpwd;
	}
	
	/**
	 * 登陆FTP服务器
	 * @return true:登陆成功 false:登陆失败
	 */
	public boolean logonFTP(){
		try {
			ftpclient = new FtpClient(FTP_IP,FTP_PORT);
			ftpclient.login(this.loginName, this.loginpwd);
			ftpclient.cd(ftpfilePath);
			System.out.println("登陆成功");
		} catch(FtpLoginException e) {
			System.out.println("无权限连接");
			return false;
		} catch (IOException e) {
			System.out.println("网络异常");
			return false;
		} 
		return true;
	}
	
	/**
	 * 上传文件
	 * @param fileaname 准备上传的文件
	 */
	public void upFile(String filename)  {
		System.out.println("开始上传文件...");
		TelnetOutputStream ftpout =null;
		TelnetInputStream ftpin = null;
		try {
			ftpclient.binary();
			ftpout = ftpclient.put("upfile.txt");//upfile.txt是上传到ftp服务器后的文件名
			ftpin = new TelnetInputStream(new FileInputStream(filename),true);
			byte[] mybytes = new byte[1024];
			int bufferSize = 0;
			while((bufferSize = ftpin.read(mybytes, 0, mybytes.length))!=-1) {
				ftpout.write(mybytes,0,bufferSize);
			}
			ftpin.close();
			ftpout.close();
		} catch(IOException e) {
			System.out.println("上传文件时发生网络异常");
			e.printStackTrace();
			return ;
		} finally {
			try {
				ftpin.close();
				ftpout.close();
				ftpclient.closeServer();
			} catch(IOException e){e.printStackTrace();}
		}
		System.out.println("文件上传成功");
	}
	
	public static void main(String[] args) throws IOException{
		FtpTest ftp = new FtpTest("test","123456");
		boolean isconnected = ftp.logonFTP();
		if(isconnected) {
			//上传文件
			ftp.upFile("E:\\Tool.java");
		}
	}
}

 

 

分享到:
评论
1 楼 peak 2009-10-19  
用Apache的commons-net更方便一些

相关推荐

    Java实现FTP文件上传和下载

    以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。 首先,Java通过`java.net`和`javax.net`包提供了FTP功能,但这些原生API并不易用。因此,大多数开发人员会使用第三方库如Apache...

    FTP文件上传程序

    在开发过程中,经常会遇到需要编写FTP文件上传程序的需求,比如在本例中的“FTP文件上传vc6.o”,这通常意味着我们需要创建一个程序,使用FTP协议将编译后的对象文件“vc6.o”上传到服务器。 FTP文件上传程序的核心...

    Java FTP文件上传下载

    Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...

    ftp文件上传源代码

    本资源提供了FTP文件上传的源代码,适用于上传图片等各类文件,这对于开发者来说是一个宝贵的参考资料。 FTP上传的基本流程包括以下步骤: 1. **连接**:客户端通过TCP建立与FTP服务器的连接,通常使用21号端口。...

    java + sybase 定时ftp文件上传

    在IT行业中,集成不同的技术以实现自动化流程是常见的需求,比如本例中的“java + sybase 定时ftp文件上传”。这个场景涉及到Java编程、Sybase数据库管理和FTP文件传输等核心知识点,接下来我们将深入探讨这些内容。...

    ftp文件上传工具

    ftp文件上传工具 破解版 使用 ! 下载后请于24小时内删除,切勿用于任何商业用途,否则,后果自负!

    java实现的ftp文件上传

    Java作为多平台支持的编程语言,提供了丰富的库和API来实现FTP文件上传功能。本篇文章将详细探讨如何使用Java实现FTP文件上传,以及相关类的作用。 首先,我们来看标题和描述中的关键词"java实现的ftp文件上传",这...

    Ftp客户端实现:Ftp文件上传,Ftp文件加密,Ftp文件夹上传

    ### FTP文件上传 1. **单文件上传**:客户端选择一个本地文件,通过`PUT`命令发送到FTP服务器指定的目录下。文件的传输可以是ASCII模式或二进制模式,取决于文件类型。 2. **多文件上传**:客户端可以一次上传多个...

    VB FTP文件上传、下载

    标题“VB FTP文件上传、下载”指的是使用VB进行FTP文件交互的实践。这通常涉及到以下知识点: 1. **FTP基础**:理解FTP的基本工作原理,包括主动模式和被动模式、FTP命令(如`PUT`用于上传,`GET`用于下载)、身份...

    Android Studio实现FTP文件上传

    本教程主要介绍如何在Android Studio项目中集成FTP文件上传功能。 首先,我们需要在Android Studio的项目中添加FTP相关的库。一个常用的FTP客户端库是`android-ftpclient`,它简化了Android应用与FTP服务器的交互。...

    NET FTP文件上传实例

    这个“NET FTP文件上传实例”提供了一个具体的.NET平台下实现FTP文件上传的示例,这对于开发者来说是一个非常实用的学习资源。 在.NET框架中,我们可以利用System.Net命名空间下的FtpWebRequest和FtpWebResponse类...

    ftp文件上传和下载

    ftp文件上传和下载 FTP(File Transfer Protocol,文件传输协议)是一种常用的网络协议,用于在不同的计算机之间传输文件。FTP协议使用TCP协议作为传输层协议,通常使用端口号21作为控制连接的端口号。FTP协议分为...

    Qt+libcurl实现FTP文件上传和下载

    对于FTP文件上传,你需要设置`CURLOPT_UPLOAD`选项,并提供本地文件的路径。`curl_easy_perform()`会将本地文件上传到FTP服务器指定的位置。 **文件下载** 下载文件时,设置`CURLOPT_WRITEFUNCTION`回调函数,用来...

    FTP文件上传下载器

    FTP文件上传下载器是一款基于FTP(File Transfer Protocol)协议开发的应用程序,主要功能是实现文件的上传和下载。FTP是一种互联网标准,用于在不同网络之间的计算机之间交换文件。这款工具通常由C#编程语言实现,...

    FTP文件上传和下载管理类(C++)

    FTP文件传输协议(FTP,File Transfer ...总之,FTPManager类提供了一种在C++程序中方便地实现FTP文件上传和下载功能的方式。通过使用这个类,开发者可以避免编写复杂的网络代码,而是集中精力在他们的应用程序逻辑上。

    android FTP 文件上传 socket 源码

    在Android平台上进行FTP文件上传,通常涉及到网络编程和文件操作,这两个方面是Android开发中的重要组成部分。FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在客户端和服务器之间传输文件。Socket是...

    Ftp文件上传Demo

    在这个“Ftp文件上传Demo”中,我们将深入探讨FTP文件上传的过程、相关概念以及如何实现一个简单的FTP文件上传功能。 首先,理解FTP的工作原理至关重要。FTP基于TCP/IP协议栈,通过建立两个独立的连接来完成文件...

    ftp文件上传

    FTP文件上传是网站开发、数据迁移和系统管理等任务中常见的操作。 FTP服务器是提供FTP服务的软件,允许其他设备(客户端)连接并进行文件交互。在本文中,我们将讨论FTP文件上传的基本概念、配置FTP服务器以及使用...

    winfrom连接FTP上传文件

    在本场景中,我们将探讨如何在WinForm应用中实现FTP文件上传以及读取FTP服务器上的文件。 首先,我们需要了解FTP的基本操作。FTP允许用户进行文件的上传、下载、删除等操作。在C#中,我们可以使用`System.Net....

    webForm ftp文件上传

    FTP文件上传则涉及网络协议,FTP允许用户在两台计算机之间传输文件。在.NET中,我们可以使用System.Net.FtpWebRequest和System.Net.FtpWebResponse类来与FTP服务器交互。这些类提供了设置FTP命令、上传/下载文件和...

Global site tag (gtag.js) - Google Analytics