Comment télécharger un fichier à partir de FTP en utilisant Java?
Avec ce code, iI obtient toujours un fichier vide.
Ce que j'ai à faire avec elle?login
est toujours true
. (ofc, ici n'est pas vrai mot de passe)
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import java.io.*;
public class Logs {
public static void main(String[] args) {
FTPClient client = new FTPClient();
try {
client.connect("myac.cs-server.pro", 121);
boolean login = client.login("a3ro", "passWordIsSecret");
System.out.println(login);
String remoteFile1 = "myac_20150304.log";
File downloadFile1 = new File("C:\\Users\\Aero\\Desktop\\test\\myac.log");
OutputStream outputStream1 =
new BufferedOutputStream(new FileOutputStream(downloadFile1));
boolean success = client.retrieveFile(remoteFile1, outputStream1);
System.out.println(success);
outputStream1.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
1
Author: Martin Prikryl, 2015-03-05
2 answers
Utilisez quelque chose comme ceci:
InputStream inputStream = client.retrieveFileStream(remoteFileNameHere);
Pour récupérer le flux d'entrée de fichier distant.
Ensuite, vous pouvez utiliser pour copier le flux dans le fichier souhaité:
FileOutputStream out = new FileOutputStream(targetFile);
org.apache.commons.io.IOUtils.copy(in, out);
1
Author: StanislavL, 2017-04-25 11:32:14
Utiliser FileOutputStream
:
String filename = "test.txt";
FileOutputStream fos = new FileOutputStream(filename);
client.retrieveFile("/" + filename, fos);
1
Author: Android Team, 2017-04-25 11:32:34