public class FtpClient extends BaseService {
private FTPClient ftpClient;
private void init() {
try {
ftpClient = new FTPClient();
//连接ftp服务器 IP 端口
ftpClient.connect("192.168.0.67", Integer.valueOf("21"));
// 登录ftp服务器 账号 密码
ftpClient.login("FTP", null);
int replyCode = ftpClient.getReplyCode();
//判断状态码的状态,如果为true,表示连接成功。
Boolean a = FTPReply.isPositiveCompletion(replyCode);
if (a) {
logger.info("FTP登录成功!");
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 根据文件名获取FTP服务器文件流
*
* @param fileName
* @return
*/
public File getFileIO(String fileName) {
File file = null;
try {
if (ftpClient == null) {
init();
}
//进入到工作目录 要下载的文件目录
Boolean b = ftpClient.changeWorkingDirectory("detail");
if (b) {
logger.info("进入FTP工作目录===========>>" + "detail");
}
//目标文件
String name = "D:\\upload" + File.separator + fileName;
file = new File(name);
FileOutputStream os = new FileOutputStream(file);
ftpClient.retrieveFile(fileName, os);
os.close();
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
return file;
}
/**
* 获取文件内容
*
* @param fileName
* @return
*/
public String parse2Str(String fileName) {
StringBuffer str = null;
File file = getFileIO(fileName);
if (file != null) {
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
str = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
str.append(line);
}
br.close();
isr.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return str.toString();
}
}
Ftp下载
最新推荐文章于 2023-11-14 17:11:53 发布