FTP传输和下载文件
public class FTPUtils {
FTPClient ftp;
/**
* 登陆FTP
*
* @param user 登陆用户名
* @param password 登录密码
* @throws Exception
*/
public void init(String IP,String user, String password) throws Exception { // 初始化函数
try {
ftp = new FTPClient(IP); //建立连接
ftp.login(user, password); //登录
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 从FTP服务器上获取文件信息,包含登陆FTP流程
*
* @param ipAddress FTP服务器的ip地址
* @param user 登陆用户名
* @param password 登录密码
* @return sourceFile 要获取的文件(含路径+文件名),例如/home/viewuser/nohup.out
* @throws Exception
*/
public String doFtpConnect(String ipAddress, String user, String password,
String sourceFile) {
ByteArrayOutputStream streamXML = null;
String strSendMsg = "";
try {
FTPClient ftp = new FTPClient(ipAddress); //建立连接
streamXML = new ByteArrayOutputStream();
ftp.login(user, password); //登录
//ftp.get("D:/zy/"+fileName,"/home/viewuser/nohup.out"); //生成下载文件
ftp.get(streamXML, sourceFile); //生成输出流
strSendMsg = streamXML.toString();
} catch (Exception e) {
e.printStackTrace();
}
return strSendMsg;
}
/**
* 从FTP服务器上获取文件信息,不包含登陆FTP流程。
*
* @param user 登陆用户名
* @param password 登录密码
* @return sourceFile 要获取的文件(含路径+文件名),例如/home/viewuser/nohup.out
* @throws Exception
*/
public String doFtpConnect(String sourceFile) {
ByteArrayOutputStream streamXML = null;
String strSendMsg = "";
try {
streamXML = new ByteArrayOutputStream();
//ftp.get("D:/zy/"+fileName,"/home/viewuser/nohup.out"); //生成下载文件
ftp.get(streamXML, sourceFile); //生成输出流
strSendMsg = streamXML.toString();
} catch (Exception e) {
e.printStackTrace();
}
return strSendMsg;
}
/**
* 向FTP服务器传送fileName文件
*
* @param localPath 本地文件路径
* @param ftpPath FTP服务器文件路径
* @param fileName 文件名称
* @return content 服务器fileName文件及其路径
* @throws Exception
*/
public String putFtpFile(String localPath,String ftpPath,String fileName){
String content = "";
localPath = localPath+fileName;
ftpPath = ftpPath+fileName;
System.out.println("FTPUtils: localPath==="+localPath);
System.out.println("FTPUtils: ftpPath==="+ftpPath);
try {
content = ftp.put(localPath,ftpPath);
}catch (Exception e){
e.printStackTrace();
}
return content;
}
/**
* 向FTP服务器传送字符串,生成fileName文件
*
* @param sendMsg 向服务器发送信息
* @param ftpfile FTP服务器文件路径
* @param fileName 文件名称
* @return content 服务器fileName文件及其路径
* @throws Exception
*/
public String putFtpMsg(String sendMsg,String ftpPath,String fileName){
String content = "";
ftpPath = ftpPath + fileName;
System.out.println("FTPUtils: ftpPath==="+ftpPath);
InputStream input = new StringBufferInputStream(sendMsg);
try {
content = ftp.put(input,ftpPath);
}catch (Exception e){
e.printStackTrace();
}
return content;
}
}
页:
[1]