`
cd0281
  • 浏览: 122578 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

java实现ftp上传,下载功能(zhuan)

    博客分类:
  • java
阅读更多
package download;

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

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

public class Download {
	String localfilename;

	String remotefilename;

	FtpClient ftpClient;

	// server:服务器名字
	// user:用户名
	// password:密码
	// path:服务器上的路径
	public void connectServer(String ip, int port, String user,
			String password, String path) {

		try {
			ftpClient = new FtpClient();
			ftpClient.openServer(ip, port);
			ftpClient.login(user, password);
			System.out.println("login success!");
			if (path.length() != 0)
				ftpClient.cd(path);
			ftpClient.binary();
		} catch (IOException ex) {
			System.out.println("not login");
			System.out.println(ex);
		}
	}

	public void closeConnect() {
		try {
			ftpClient.closeServer();
			System.out.println("disconnect success");
		} catch (IOException ex) {
			System.out.println("not disconnect");
			System.out.println(ex);
		}
	}

	public void upload() {

		this.localfilename = "D://test2//test.txt";
		this.remotefilename = "test.txt";

		try {
			TelnetOutputStream os = ftpClient.put(this.remotefilename);
			java.io.File file_in = new java.io.File(this.localfilename);
			FileInputStream is = new FileInputStream(file_in);
			byte[] bytes = new byte[1024];
			int c;
			while ((c = is.read(bytes)) != -1) {
				os.write(bytes, 0, c);
			}
			System.out.println("upload success");
			is.close();
			os.close();
		} catch (IOException ex) {
			System.out.println("not upload");
			System.out.println(ex);
		}
	}

	public void download() {

		try {
			TelnetInputStream is = ftpClient.get(this.remotefilename);
			java.io.File file_in = new java.io.File(this.localfilename);
			FileOutputStream os = new FileOutputStream(file_in);
			byte[] bytes = new byte[1024];
			int c;
			while ((c = is.read(bytes)) != -1) {
				// System.out.println((char)is.read());
				// System.out.println(file_in);
				os.write(bytes, 0, c);
			}

			System.out.println("download success");
			os.close();
			is.close();
		} catch (IOException ex) {
			System.out.println("not download");
			System.out.println(ex);
		}
	}

	public void download(String remotePath, String remoteFile, String localFile) {

		try {
			if (remotePath.length() != 0)
				ftpClient.cd(remotePath);
			TelnetInputStream is = ftpClient.get(remoteFile);
			java.io.File file_in = new java.io.File(localFile);
			FileOutputStream os = new FileOutputStream(file_in);
			byte[] bytes = new byte[1024];
			int c;
			while ((c = is.read(bytes)) != -1) {
				// System.out.println((char)is.read());
				// System.out.println(file_in);
				os.write(bytes, 0, c);
			}

			System.out.println("download success");
			os.close();
			is.close();
		} catch (IOException ex) {
			System.out.println("not download");
			System.out.println(ex);
		}
	}

	public void download(String remoteFile, String localFile) {

		try {
			TelnetInputStream is = ftpClient.get(remoteFile);
			java.io.File file_in = new java.io.File(localFile);
			FileOutputStream os = new FileOutputStream(file_in);
			byte[] bytes = new byte[1024];
			int c;
			while ((c = is.read(bytes)) != -1) {
				// System.out.println((char)is.read());
				// System.out.println(file_in);
				os.write(bytes, 0, c);
			}

			System.out.println("download success");
			os.close();
			is.close();
		} catch (IOException ex) {
			System.out.println("not download");
			System.out.println(ex);
		}
	}

	public static void main(String agrs[]) {

		String filepath[] = { "/callcenter/index.jsp", "/callcenter/ip.txt",
				"/callcenter/mainframe/image/processing_bar_2.gif",
				"/callcenter/mainframe/image/logo_01.jpg" };
		String localfilepath[] = { "C:\\FTP_Test\\index.jsp",
				"C:\\FTP_Test\\ip.txt", "C:\\FTP_Test\\processing_bar_2.gif",
				"C:\\FTP_Test\\logo_01.jpg" };

		Download fu = new Download();
		fu.connectServer("172.16.1.66", 22, "web_test", "123456",
						"/callcenter");
		for (int i = 0; i < filepath.length; i++) {
			fu.download(filepath[i], localfilepath[i]);
		}

		// fu.upload();
		// fu.download();
		fu.closeConnect();

	}
}
分享到:
评论
1 楼 zldy2818 2011-09-13  
写main方法没问题,如果是页面访问的话好像就不行了,貌似只适合c/s结构的

相关推荐

    gssdgv-zhuan-ke-master_java_

    Spring Boot简化了Java应用的初始化和配置,而gssdgv-zhuan-ke在此基础上增加了特定于蚂蚁集团业务需求的功能,使得开发者能够快速构建高性能、高可用的服务。 2. **Readiness Check** Readiness Check是该框架的...

    zhuan_java_untilgw8_android_

    标题 "zhuan_java_untilgw8_android_" 暗示了这是一个关于使用Java语言在UntilGW8平台上开发Android游戏的项目,特别是一款简单的打砖块游戏。在这个项目中,我们可以深入学习到Java编程语言、Android应用开发的基础...

    ban-zhuan.zip_JAVA穷举法搬砖_搬砖_用JAVA穷举法

    在给定的“ban-zhuan.zip_JAVA穷举法搬砖”主题中,我们面对的是一个数学问题,该问题与实际的砖块分配有关。36块砖需要36个人来搬运,其中包括男性、女性和小孩,他们各自有不同的搬运能力。男性每次能搬4块砖,...

    zhuan 2.zip

    在这个名为"zhuan 2.zip"的压缩包中,包含了一个支持移动端的转盘抽奖程序。这个程序的核心是通过JavaScript实现,使得用户可以通过点击来触发抽奖过程,从而增加用户体验的趣味性和参与度。 首先,我们来看“转盘...

    java面试题目与技巧1

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题及技巧4

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题以及技巧

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java swing写成的接球小游戏

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java AWT(抽象窗口工具包)的扩展,提供了更多的组件和功能。在这个接球小游戏中,开发者利用Swing构建了一个交互式的用户界面,让用户可以通过点击...

    Map_out.rar_Map o_mapgis_mapgis noteo_mapgis zhuan jpg_out

    "Map o_mapgis_mapgis noteo_mapgis zhuan jpg_out"这部分可能是描述了这个压缩包的主要功能或者过程,即MapGIS的二次开发功能,用于将MapGIS的地图数据转换成JPG格式的光栅图像。"o_mapgis_mapgis noteo_mapgis...

    java面试题及技巧3

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题以及技巧6

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    XUAN-ZHUAN-led.zip_旋转LED_旋转LED 自适应_自适应旋转LED

    "XUAN-ZHUAN-led.zip_旋转LED_旋转LED 自适应_自适应旋转LED"这个压缩包文件内容是关于实现旋转LED自适应转速的程序,其核心目标是让LED屏幕上的字幕能够流畅地滚动,并根据设备的转速自动调整滚动速度,以保持最佳...

    自媒体新媒体软件工具自媒体zhuan钱秘诀资料

    自媒体新媒体软件工具自媒体zhuan钱秘诀资料

    zhuan-su-eliang.rar_labview 测_labview 测速_labview测速_labview转速测量_转

    在给定的“zhuan-su-eliang.rar”压缩包中,包含了一个名为“zhuan su eliang.vi”的虚拟仪器(VI),这显然是一款用于转速测量的应用程序。 转速测量是机械工程、汽车工业、电力系统等领域中常见的技术需求。...

    ATM自动取款机,模拟程序

    关键功能实现 - **登录验证**:通过输入账号和密码进行登录验证,成功后可进行后续操作。 - **查询余额**:用户登录后可以查看账户余额。 - **取款功能**:允许用户从账户中提取现金,并更新账户余额。 - **修改...

    485转232驱动程序

    3. 更新驱动:定期检查并更新驱动,以获取最新的功能和错误修复。 4. 安全性:从官方网站或信誉良好的第三方平台下载驱动,避免病毒和恶意软件。 总结,485转232驱动程序是实现USB与RS-485/232设备之间通信的核心,...

    z zhuan sec_EH4_EH4Z文件转SEC文件_

    这些文件包含了可以烧录到微控制器闪存中的机器代码和数据,用于执行特定功能。而SEC(Secure Executable)文件格式则是一种安全可执行文件,常用于保护代码不被非法篡改,多见于安全敏感的应用中,例如汽车电子、...

    soho网络zhuan钱的体会.doc

    5. 社区互助:SOHO工作往往依赖于网络社区的支持,成员间的互助和合作能够共同提升业务能力,实现共赢。 6. 创新思维:SOHO模式往往涉及新的商业模式和组织形态,如共同参与的网站发展,类似股份制公司的运营,需要...

    一款新闻软件

    实现这一功能通常需要后端服务器支持,存储用户信息,并进行身份验证。 2. **用户注册**:新用户可以通过填写基本信息(如用户名、邮箱、密码等)创建账户。为了确保数据安全,开发者需要实现加密算法对用户密码...

    office2003转2007

    1. 下载并安装转换工具,如上述的.exe文件。 2. 安装过程中,系统会提示用户同意许可协议,并可能询问安装路径和其他设置。 3. 工具安装完成后,用户可以在Office 2003中打开新格式文件,通常会有一个提示或警告,...

Global site tag (gtag.js) - Google Analytics