package org.springblade.modules.information.controller;
|
|
import sun.net.ftp.FtpClient;
|
import sun.net.ftp.FtpProtocolException;
|
|
import java.io.*;
|
import java.net.InetSocketAddress;
|
import java.net.SocketAddress;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class FtpUtil {
|
|
FtpClient ftpClient;
|
|
/**
|
* 连接FTP服务
|
*
|
* @param url //IP地址
|
* @param port//端口号
|
* @param username//用户名
|
* @param password//密码
|
* @return
|
*/
|
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();
|
} catch (FtpProtocolException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return ftp;
|
}
|
|
/**
|
* 取ftp上的文件内容
|
*
|
* @param ftpFile
|
* @param ftp
|
* @return
|
*/
|
public static List<String> download(String ftpFile, FtpClient ftp) {
|
List<String> list = new ArrayList<String>();
|
String str = "";
|
InputStream is = null;
|
BufferedReader br = null;
|
try {
|
// 获取ftp上的文件
|
is = ftp.getFileStream(ftpFile);
|
//转为字节流
|
br = new BufferedReader(new InputStreamReader(is));
|
while ((str = br.readLine()) != null) {
|
list.add(str);
|
}
|
br.close();
|
} catch (FtpProtocolException e) {
|
e.printStackTrace();
|
} catch (FileNotFoundException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return list;
|
}
|
|
public static void main(String[] args) {
|
FtpClient ftp = connectFTP("192.168.0.109",21,"anonymous","");
|
List<String> list = download("D:\\anbao", ftp);
|
for (int i = 0; i < list.size(); i++) {
|
String strOut = null;
|
if (list.get(i).toString() != null) {
|
try {
|
byte[] bs = list.get(i).toString().getBytes();
|
|
strOut = new String(bs, "utf-8");
|
} catch (UnsupportedEncodingException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
System.out.println(strOut);
|
System.out.println(list.get(i).toString());
|
}
|
}
|
}
|