珉瑶3701 发表于 2016-6-9 09:22:55

每天进步一点一点 ftp上传下载

http://www.iyunv.com/topic/206185
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;   
}   
}
  
页: [1]
查看完整版本: 每天进步一点一点 ftp上传下载