`

ftp(测试)

阅读更多

本文待完善

 

1、主要代码

package com.ftp;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import sun.net.ftp.FtpClient;
import sun.net.ftp.FtpProtocolException;

public class FTPUtil {
	/**
	 * 连接ftp服务器 JDK 1.7
	 * 
	 * @param url
	 * @param port
	 * @param username
	 * @param password
	 * @return FtpClient
	 * @throws FtpProtocolException
	 * @throws IOException
	 */
	public static FtpClient connectFTP(String url, int port, String username, String password) { // 创建ftp
		FtpClient ftp = null;
		try {
			// 创建地址
			SocketAddress addr = new InetSocketAddress(url, port);
			// 连接
			ftp = FtpClient.create();
			ftp.connect(addr);
			// 登陆
			ftp.login(username, password.toCharArray());
			ftp.setBinaryType();
			System.out.println(ftp.getWelcomeMsg());
		} catch (FtpProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return ftp;
	}

	/**
	 * 切换目录
	 * 
	 * @param ftp
	 * @param path
	 */
	public static void changeDirectory(FtpClient ftp, String path) {
		try {
			ftp.changeDirectory(path);
			System.out.println(ftp.getWorkingDirectory());
		} catch (FtpProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 关闭ftp
	 * 
	 * @param ftp
	 */
	public static void disconnectFTP(FtpClient ftp) {
		try {
			ftp.close();
			System.out.println("disconnect success!!");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 上传文件
	 * 
	 * @param localFile
	 * @param ftpFile
	 * @param ftp
	 */
	public static void upload(String localFile, String ftpFile, FtpClient ftp) {
		OutputStream os = null;
		FileInputStream fis = null;
		try {
			// 将ftp文件加入输出流中。输出到ftp上
			os = ftp.putFileStream(ftpFile);
			File file = new File(localFile);
			// 创建一个缓冲区
			fis = new FileInputStream(file);
			byte[] bytes = new byte[1024];
			int c;
			while ((c = fis.read(bytes)) != -1) {
				os.write(bytes, 0, c);
			}
			System.out.println("upload success!!");
		} catch (FtpProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (os != null)
					os.close();
				if (fis != null)
					fis.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	/**
	 * 文件下载
	 * 
	 * @param localFile
	 * @param ftpFile
	 * @param ftp
	 */
	public static void download(String localFile, String ftpFile, FtpClient ftp) {
		InputStream is = null;
		FileOutputStream fos = null;
		try {
			// 获取ftp上的文件
			is = ftp.getFileStream(ftpFile);
			File file = new File(localFile);
			byte[] bytes = new byte[1024];
			int i;
			fos = new FileOutputStream(file);
			while ((i = is.read(bytes)) != -1) {
				fos.write(bytes, 0, i);
			}
			System.out.println("download success!!");
		} catch (FtpProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (fos != null)
					fos.close();
				if (is != null) {
					is.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

 

2、测试代码

package com.testCode;

import java.net.InetAddress;
import java.net.UnknownHostException;
import sun.net.ftp.FtpClient;
import com.ftp.FTPUtil;


public class Test2 {
	public static void main(String[] args) {
		try {
			InetAddress addr = InetAddress.getLocalHost();
			System.out.println(addr.getHostAddress());
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String ip = "10.10.10.10";
		int port = 21;
		String username = "root";
		String password = "root";
		String path = "/home";
		// 连接ftp
		FtpClient ftp = FTPUtil.connectFTP(ip, port, username, password);
		System.out.println(ftp.getWelcomeMsg());
		// 切换目录
		FTPUtil.changeDirectory(ftp, path);
		System.out.println("-----上传----");
		FTPUtil.upload("D:\\aaa.txt", "/home/aaa.txt", ftp);
		System.out.println("-----下载----");
		FTPUtil.download("D:\\aaa.txt", "/home/aaa.txt", ftp);
	}
}

 

 

分享到:
评论

相关推荐

    ftp测试操作培训PPT

    FTP测试操作培训旨在帮助用户熟练掌握使用FTP(文件传输协议)进行上传和下载的操作,尤其在拨号连接的环境中。以下是对培训内容的详细说明: 首先,我们需要建立拨号连接,这是通过安装手机驱动并将其与笔记本电脑...

    Java-ftp测试类

    很实用详细的ftp工具类!让你很容易测试你的ftp服务!

    Air720AT命令FTP测试工具x86.zip

    这个"Air720AT命令FTP测试工具x86.zip"是一个针对合宙Air720通讯模块的Python源码实现,它的主要目的是验证和测试该模块对FTP协议的支持,包括文件的上传和下载功能。 首先,我们要理解什么是AT命令。AT(Attention...

    FTP测试备份

    FTP测试备份

    FTPServer 测试工具

    FTP 服务器测试工具,可修改FTP端口,FTP默认目录等,简单,直接双击运行即可。

    FTP测试软件

    适用的工具适用的工具适用的工具适用的工具适用的工具适用的工具适用的工具适用的工具

    FTP上传测试工具 java

    在这个场景中,"FTP上传测试工具 java" 提供了一种基于Java语言的解决方案,用于测试FTP功能和验证与客户的FTP通信需求。Java作为一种通用且跨平台的编程语言,提供了丰富的库和API来实现FTP客户端功能。 首先,...

    FTP服务器开发测试工具

    本篇文章将详细探讨FTP服务器的开发和测试工具,以及如何利用提供的"FtpServer-master"压缩包进行相关操作。 FTP服务器开发涉及的主要知识点包括: 1. **FTP协议**: FTP基于TCP/IP协议族,分为命令和数据两个通道...

    测试用的FTP工具好小呀好用呀谢玉超

    测试用的FTP工具好小呀好用呀测试用的FTP工具好小呀好用呀测试用的FTP工具好小呀好用呀测试用的FTP工具好小呀好用呀测试用的FTP工具好小呀好用呀测试用的FTP工具好小呀好用呀测试用的FTP工具好小呀好用呀测试用的FTP...

    美国FTP-75标准资料参考

    直到2007车型年为止,新车标签上显示的EPA道路燃油经济性值主要依据城市评级的FTP测试结果计算,而公路评级则基于HWFET测试结果。自2008年车型年起,EPA的道路燃油经济性等级是基于5个循环测试结果确定的,包括一个...

    50M FTP下载测试数据

    FTP测试的关键点包括: 1. **下载速度**:50M的数据量代表了中等规模的文件,下载时间可以通过文件大小除以下载速率来计算。这有助于评估网络带宽和FTP服务器的并发处理能力。 2. **稳定性**:下载过程中是否出现...

    FTP压力下载测试bat版

    使用方法及讨论 http://winner.5d6d.com/thread-32-1-1.html

    postman ftp

    "Xshell-5.0.1339.exe"是一个流行的SSH和FTP终端工具,用户可以直接在桌面环境中进行FTP操作,也可以配合Postman使用,以辅助进行更复杂的FTP测试。 "postman-4.1.2.zip"是Postman的一个旧版本,可能用于演示如何在...

    FTP客户端(个人测试通过)

    在本项目中,开发者使用了Visual Studio 2005(简称VS2005)作为开发环境,构建了一个FTP客户端,该客户端已经过个人测试并成功运行。下面我们将深入探讨FTP客户端的原理、VS2005开发环境以及可能存在的小瑕疵。 ...

    利用Serv-U搭建FTP服务器

    连接FTP测试 使用FTP软件,例如FlashFXP,测试FTP连接。输入wp.com或127.0.0.1,用户名“admin”,密码“123456”,可以成功连接到FTP服务器。 Web客户端测试 使用浏览器,输入ftp://wp.com或ftp://127.0.0.1,...

    ftp绿色测试工具下载

    FTP绿色测试工具是专为测试FTP连接、速度和稳定性而设计的轻量级应用,尤其适用于Linux系统环境。这样的工具通常无需安装,可以直接运行,方便快捷。 FlashFXP是一款流行的FTP客户端软件,虽然它主要面向Windows...

    apache ftp server

    2. **ftp测试.rar**:可能包含了一些用于测试服务器功能的示例脚本或文件,用于验证FTP上传和下载功能是否正常。 3. **ftpserver-1.0.5.zip**:这是Apache FTP Server的主程序包,包含了运行服务器所需的所有文件。...

    testftp.zip

    在"压缩包子文件的文件名称列表"中,只提到了 "testftp",这可能是项目主目录或者包含FTP测试代码的文件或模块。通常,Spring Boot项目会有一个或多个Java源代码文件,如主应用类、配置类、以及可能的FTP操作相关类...

    ftp test

    FTP测试通常涉及检查以下几点: - **连接性**:确保客户端能成功连接到服务器。 - **身份验证**:测试用户名和密码是否有效,以及匿名访问的设置。 - **目录和文件操作**:验证是否能浏览目录,上传和下载文件,...

Global site tag (gtag.js) - Google Analytics