Bonjour,
Je souhaite récupérer le contenu d'un fichier, dans un répertoire FTP, en java :
private static String getStringContentFromFile(String fileToGet)
fileToGet est le nom du fichier, exemple "toto.txt"
Voila mon code, qui semble être correct :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| private static String getStringContentFromFile(String fileToGet) throws SocketException, IOException {
String fileContent = null;
// Connection
FTPClient ftpClient = new FTPClient();
ftpClient.connect(server);
ftpClient.login(user, pass);
// On change de répertoire
ftpClient.enterLocalPassiveMode();
ftpClient.changeWorkingDirectory(directory);
fileContent = convertStreamToString(ftpClient.retrieveFileStream(fileToget));
// Fermeture connection
ftpClient.logout(); ftpClient.disconnect();
return fileContent;
}
private static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner scanner = new java.util.Scanner(is);
java.util.Scanner s = scanner.useDelimiter("\\A");
String stringToReturn = s.hasNext() ? s.next() : "";
scanner.close();
return stringToReturn;
} |
Pouvez-vous vérifier si je n'ai rien oublié ?
mon code doit retourner "null" si le fichier n'existe pas.
A quoi sert ftpClient.enterLocalPassiveMode(); ?
Merci.
Partager