reading ftp server file using spring boot . is there any way to get the ftp file content that paste to logger.
what method used to read the file from the ftp server.
package ftpRead1;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
class tset{
public static void main(String args[])throws IOException {
String server = "ftp.dlptest.com";
int port = 21;
String user = "dlpuser";
String pass = "rNrKYTX9g7z3RgJRmxWuGHbeu";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
showServerReply(ftpClient);
int replyCode = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(replyCode)) {
System.out.println("Connect failed");
return;
}
boolean success = ftpClient.login(user, pass);
System.out.println("this is the server reply");
showServerReply(ftpClient);
if (!success) {
System.out.println("Could not login to the server");
return;
}
FTPFile[] files = ftpClient.listFiles();
System.out.println("Files on Ftp Server : "); for (FTPFile file : files) { if
(file.isFile()) { System.out.println("File name : " + file.getName()); } }
// Lists files and directories
FTPFile[] files1 = ftpClient.listFiles();
System.out.println(files1);
printFileDetails(files1);
// uses simpler methods
String[] package ftpRead1;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
class tset{
public static void main(String args[])throws IOException {
String server = "ftp.dlptest.com";
int port = 21;
String user = "dlpuser";
String pass = "rNrKYTX9g7z3RgJRmxWuGHbeu";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
showServerReply(ftpClient);
int replyCode = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(replyCode)) {
System.out.println("Connect failed");
return;
}
boolean success = ftpClient.login(user, pass);
System.out.println("this is the server reply");
showServerReply(ftpClient);
if (!success) {
System.out.println("Could not login to the server");
return;
}
FTPFile[] files = ftpClient.listFiles();
System.out.println("Files on Ftp Server : "); for (FTPFile file : files) { if
(file.isFile()) { System.out.println("File name : " + file.getName()); } }
// Lists files and directories
FTPFile[] files1 = ftpClient.listFiles();
System.out.println(files1);
printFileDetails(files1);
// uses simpler methods
String[] files2 = ftpClient.listNames();
System.out.println(files2);
printNames(files2);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
String remoteFile2 = "\\readFile.txt";
File downloadFile2 = new File("C:\\Users\\Shivaraju\\text.txt");
@SuppressWarnings("resource")
OutputStream outputStream2 = new BufferedOutputStream(new FileOutputStream(downloadFile2));
InputStream inputStream = ftpClient.retrieveFileStream(remoteFile2);
byte[] bytesArray = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(bytesArray)) != -1) {
outputStream2.write(bytesArray, 0, bytesRead);
}
// APPROACH #1: using retrieveFile(String, OutputStream)
String remoteFile1 = "\\readFile.txt";
File downloadFile1 = new File("C:\\Users\\Shivaraju");
OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
boolean success1 = ftpClient.retrieveFile(remoteFile1, outputStream1);
outputStream1.close();
if (success1) {
System.out.println("File #1 has been downloaded successfully.");
}
} catch (IOException ex) {
System.out.println("\n \n Oops! Something wrong happened");
ex.printStackTrace();
} finally {
// logs out and disconnects from server
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private static void printFileDetails(FTPFile[] files) {
DateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (FTPFile file : files) {
String details = file.getName();
if (file.isDirectory()) {
details = "[" + details + "]";
}
details += "\t\t" + file.getSize();
details += "\t\t" + dateFormater.format(file.getTimestamp().getTime());
System.out.println(details);
}
}
private static void printNames(String files[]) {
if (files != null && files.length > 0) {
for (String aFile: files) {
System.out.println(aFile);
}
}
}
private static void showServerReply(FTPClient ftpClient) {
String[] replies = ftpClient.getReplyStrings();
if (replies != null && replies.length > 0) {
for (String aReply : replies) {
System.out.println("SERVER: " + aReply);
}
}
}
}
= ftpClient.listNames();
System.out.println(files2);
printNames(files2);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
String remoteFile2 = "\\readFile.txt";
File downloadFile2 = new File("C:\\Users\\Shivaraju\\text.txt");
@SuppressWarnings("resource")
OutputStream outputStream2 = new BufferedOutputStream(new FileOutputStream(downloadFile2));
InputStream inputStream = ftpClient.retrieveFileStream(remoteFile2);
byte[] bytesArray = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(bytesArray)) != -1) {
outputStream2.write(bytesArray, 0, bytesRead);
}
// APPROACH #1: using retrieveFile(String, OutputStream)
String remoteFile1 = "\\readFile.txt";
File downloadFile1 = new File("C:\\Users\\Shivaraju");
OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
boolean success1 = ftpClient.retrieveFile(remoteFile1, outputStream1);
outputStream1.close();
if (success1) {
System.out.println("File #1 has been downloaded successfully.");
}
} catch (IOException ex) {
System.out.println("\n \n Oops! Something wrong happened");
ex.printStackTrace();
} finally {
// logs out and disconnects from server
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private static void printFileDetails(FTPFile[] files) {
DateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (FTPFile file : files) {
String details = file.getName();
if (file.isDirectory()) {
details = "[" + details + "]";
}
details += "\t\t" + file.getSize();
details += "\t\t" + dateFormater.format(file.getTimestamp().getTime());
System.out.println(details);
}
}
private static void printNames(String files[]) {
if (files != null && files.length > 0) {
for (String aFile: files) {
System.out.println(aFile);
}
}
}
private static void showServerReply(FTPClient ftpClient) {
String[] replies = ftpClient.getReplyStrings();
if (replies != null && replies.length > 0) {
for (String aReply : replies) {
System.out.println("SERVER: " + aReply);
}
}
}
}
reading ftp server file using spring boot . is there any way to get the ftp file content that paste to logger.
what method used to read the file from the ftp server.