使用sun.net.ftp下载、上传文件完整版
http://www.javaeye.com/images/icon_copy.gif[*]package com.northking.dataManager.util;
[*]import sun.net.ftp.*;
[*]import sun.net.*;
[*]import java.io.*;
[*]
[*]/**
[*] * 使用sun.net.ftp工具包进行ftp上传下载
[*] * @author maochangming
[*] * @date 2008-6-2013:09:29
[*] * @description:
[*] */
[*]public class FtpTool {
[*] String ip;
[*] int port;
[*] String user;
[*] String pwd;
[*] String remotePath;
[*] String localPath;
[*] FtpClient ftpClient;
[*]
[*] /**
[*] * 连接ftp服务器
[*] * @param ip
[*] * @param port
[*] * @param user
[*] * @param pwd
[*] * @return
[*] * @throws Exception
[*] */
[*] public boolean connectServer(String ip, int port, String user, String pwd)
[*] throws Exception {
[*] boolean isSuccess = false;
[*] try {
[*] ftpClient = new FtpClient();
[*] ftpClient.openServer(ip, port);
[*] ftpClient.login(user, pwd);
[*] isSuccess = true;
[*] } catch (Exception ex) {
[*] throw new Exception("Connect ftp server error:" + ex.getMessage());
[*] }
[*] return isSuccess;
[*] }
[*]
[*] /**
[*] * 下载文件
[*] * @param remotePath
[*] * @param localPath
[*] * @param filename
[*] * @throws Exception
[*] */
[*] public void downloadFile(String remotePath,String localPath, String filename) throws Exception {
[*] try {
[*] if (connectServer(getIp(), getPort(), getUser(), getPwd())) {
[*] if (remotePath.length() != 0)
[*] ftpClient.cd(remotePath);
[*] ftpClient.binary();
[*] TelnetInputStream is = ftpClient.get(filename);
[*] File file_out = new File(localPath + File.separator + filename);
[*] FileOutputStream os = new FileOutputStream(file_out);
[*] byte[] bytes = new byte;
[*] int c;
[*] while ((c = is.read(bytes)) != -1) {
[*] os.write(bytes, 0, c);
[*] }
[*] is.close();
[*] os.close();
[*] ftpClient.closeServer();
[*] }
[*] } catch (Exception ex) {
[*] throw new Exception("ftp download file error:" + ex.getMessage());
[*] }
[*] }
[*]
[*] /**
[*] * 上传文件
[*] * @param remotePath
[*] * @param localPath
[*] * @param filename
[*] * @throws Exception
[*] */
[*] public void uploadFile(String remotePath,String localPath, String filename) throws Exception {
[*] try {
[*] if (connectServer(getIp(), getPort(), getUser(), getPwd())) {
[*] if (remotePath.length() != 0)
[*] ftpClient.cd(remotePath);
[*] ftpClient.binary();
[*] TelnetOutputStream os = ftpClient.put(filename);
[*] File file_in = new File(localPath + File.separator + filename);
[*] FileInputStream is = new FileInputStream(file_in);
[*] byte[] bytes = new byte;
[*] int c;
[*] while ((c = is.read(bytes)) != -1) {
[*] os.write(bytes, 0, c);
[*] }
[*] is.close();
[*] os.close();
[*] ftpClient.closeServer();
[*] }
[*] } catch (Exception ex) {
[*] throw new Exception("ftp upload file error:" + ex.getMessage());
[*] }
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public String getIp() {
[*] return ip;
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public int getPort() {
[*] return port;
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public String getPwd() {
[*] return pwd;
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public String getUser() {
[*] return user;
[*] }
[*]
[*] /**
[*] * @param string
[*] */
[*] public void setIp(String string) {
[*] ip = string;
[*] }
[*]
[*] /**
[*] * @param i
[*] */
[*] public void setPort(int i) {
[*] port = i;
[*] }
[*]
[*] /**
[*] * @param string
[*] */
[*] public void setPwd(String string) {
[*] pwd = string;
[*] }
[*]
[*] /**
[*] * @param string
[*] */
[*] public void setUser(String string) {
[*] user = string;
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public FtpClient getFtpClient() {
[*] return ftpClient;
[*] }
[*]
[*] /**
[*] * @param client
[*] */
[*] public void setFtpClient(FtpClient client) {
[*] ftpClient = client;
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public String getRemotePath() {
[*] return remotePath;
[*] }
[*]
[*] /**
[*] * @param string
[*] */
[*] public void setRemotePath(String string) {
[*] remotePath = string;
[*] }
[*]
[*] /**
[*] * @return
[*] */
[*] public String getLocalPath() {
[*] return localPath;
[*] }
[*]
[*] /**
[*] * @param string
[*] */
[*] public void setLocalPath(String string) {
[*] localPath = string;
[*] }
[*]
[*]}
package com.northking.dataManager.util;import sun.net.ftp.*;import sun.net.*;import java.io.*;/** * 使用sun.net.ftp工具包进行ftp上传下载 * @author maochangming * @date 2008-6-2013:09:29 * @description: */public class FtpTool {String ip;int port;String user;String pwd;String remotePath;String localPath;FtpClient ftpClient;/** * 连接ftp服务器 * @param ip * @param port * @param user * @param pwd * @return * @throws Exception */public boolean connectServer(String ip, int port, String user, String pwd)throws Exception {boolean isSuccess = false;try {ftpClient = new FtpClient();ftpClient.openServer(ip, port);ftpClient.login(user, pwd);isSuccess = true;} catch (Exception ex) {throw new Exception("Connect ftp server error:" + ex.getMessage());}return isSuccess;}/** * 下载文件 * @param remotePath * @param localPath * @param filename * @throws Exception */public void downloadFile(String remotePath,String localPath, String filename) throws Exception {try {if (connectServer(getIp(), getPort(), getUser(), getPwd())) {if (remotePath.length() != 0)ftpClient.cd(remotePath);ftpClient.binary();TelnetInputStream is = ftpClient.get(filename);File file_out = new File(localPath + File.separator + filename);FileOutputStream os = new FileOutputStream(file_out);byte[] bytes = new byte;int c;while ((c = is.read(bytes)) != -1) {os.write(bytes, 0, c);}is.close();os.close();ftpClient.closeServer();}} catch (Exception ex) {throw new Exception("ftp download file error:" + ex.getMessage());}}/** * 上传文件 * @param remotePath * @param localPath * @param filename * @throws Exception */public void uploadFile(String remotePath,String localPath, String filename) throws Exception {try {if (connectServer(getIp(), getPort(), getUser(), getPwd())) {if (remotePath.length() != 0)ftpClient.cd(remotePath);ftpClient.binary();TelnetOutputStream os = ftpClient.put(filename);File file_in = new File(localPath + File.separator + filename);FileInputStream is = new FileInputStream(file_in);byte[] bytes = new byte;int c;while ((c = is.read(bytes)) != -1) {os.write(bytes, 0, c);}is.close();os.close();ftpClient.closeServer();}} catch (Exception ex) {throw new Exception("ftp upload file error:" + ex.getMessage());}}/** * @return */public String getIp() {return ip;}/** * @return */public int getPort() {return port;}/** * @return */public String getPwd() {return pwd;}/** * @return */public String getUser() {return user;}/** * @param string */public void setIp(String string) {ip = string;}/** * @param i */public void setPort(int i) {port = i;}/** * @param string */public void setPwd(String string) {pwd = string;}/** * @param string */public void setUser(String string) {user = string;}/** * @return */public FtpClient getFtpClient() {return ftpClient;}/** * @param client */public void setFtpClient(FtpClient client) {ftpClient = client;}/** * @return */public String getRemotePath() {return remotePath;}/** * @param string */public void setRemotePath(String string) {remotePath = string;}/** * @return */public String getLocalPath() {return localPath;}/** * @param string */public void setLocalPath(String string) {localPath = string;}}
Junit测试类
Java代码 http://www.javaeye.com/images/icon_copy.gif
[*]package com.northking.dataManager.dataimport.parse.test;
[*]
[*]import com.northking.dataManager.util.FtpTool;
[*]
[*]import junit.framework.TestCase;
[*]
[*]/**
[*] * @author maochangming
[*] * @date 2008-6-2013:09:11
[*] * @description:
[*] */
[*]public class FtpToolTest extends TestCase {
[*] FtpTool ftpTool;
[*]
[*] /**
[*] * Constructor for FtpToolTest.
[*] * @param arg0
[*] */
[*] public FtpToolTest(String arg0) {
[*] super(arg0);
[*] }
[*]
[*] public static void main(String[] args) {
[*] junit.textui.TestRunner.run(FtpToolTest.class);
[*] }
[*]
[*] public void testDownLoadFile()throws Exception{
[*] ftpTool.downloadFile(ftpTool.getRemotePath(),"c:/downloads","JBFImgMng.CAB");
[*] }
[*]
[*] /*
[*] * @see TestCase#setUp()
[*] */
[*] protected void setUp() throws Exception {
[*] ftpTool = new FtpTool();
[*] ftpTool.setIp("10.164.12.70");
[*] ftpTool.setPort(2100);
[*] ftpTool.setUser("share");
[*] ftpTool.setPwd("share");
[*] ftpTool.setRemotePath("/paeams");
[*] super.setUp();
[*] }
[*]
[*] /*
[*] * @see TestCase#tearDown()
[*] */
[*] protected void tearDown() throws Exception {
[*] super.tearDown();
[*] }
[*]
[*]}
页:
[1]