讀取ftp圖片
String picUrl = "./paperpic";
logger.info(picUrl);
String picName = "paper_001.Jpg";
response.reset();
OutputStream outputStream = response.getOutputStream();
FTPClient ftpClient = new FTPClient();
ftpClient.connect("192.168.1.50", 21);
ftpClient.login("ftpuser", "abc123");
ftpClient.setBufferSize(1024);
ftpClient.changeWorkingDirectory(picUrl);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.retrieveFile(picName, outputStream);
outputStream.flush();
outputStream.close();
ftpClient.disconnect();
向FTP服務器上傳文件
public static boolean uploadFile(String url, int port, String username,
String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);
ftp.login(username, password);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.setBufferSize(1024);
boolean flag = ftp.changeWorkingDirectory(path);
if (!flag) {
ftp.makeDirectory(path);
ftp.changeWorkingDirectory(path);
}
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
遍歷FTP服務器上的文件
public static boolean listFtpFile(String url, int port, String username,
String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);
ftp.login(username, password);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.setBufferSize(1024);
boolean flag = ftp.changeWorkingDirectory(path);
if (!flag) {
ftp.makeDirectory(path);
ftp.changeWorkingDirectory(path);
}
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
FTPFile[] files = ftp.listFiles("./");
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
System.out.println(files[i].getName());
} else {
System.out.println(files[i].getName());
}
}
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}