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