Java et FTP, des cours en français.
El_Diablo666
Messages postés
294
Date d'inscription
Statut
Membre
Dernière intervention
-
Tsunamy -
Tsunamy -
Bonjour,
Java et FTP, des cours en français.
Plus exactement :
- Bibliothéque Java a utiliser.
- L'accés a un compte FTP.
- Lister avec détails les fichier et dossiers. (J'ai besion just de la tailles des fichiers)
- Se déplacer entre les repertoires.
Merci!
Java et FTP, des cours en français.
Plus exactement :
- Bibliothéque Java a utiliser.
- L'accés a un compte FTP.
- Lister avec détails les fichier et dossiers. (J'ai besion just de la tailles des fichiers)
- Se déplacer entre les repertoires.
Merci!
A voir également:
- Java et FTP, des cours en français.
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Telechargement film d'action complet en francais - Télécharger - TV & Vidéo
3 réponses
Salut,
J'utilise une librairie appelée edtftpj. Dans la version de base, il s'agit d'un open source; une version Pro existe (pour des transferts prenant en compte les protocoles ftps et sftp), regarder ici: https://enterprisedt.com/products/edtftpj/
Pour la partie basique: licence LGPL, donc possible de l'utiliser dans des projets commerciaux/d'entreprise. Tu trouveras de la doc (et des exemples) ici: https://enterprisedt.com/products/edtftpj/ Malheureusement uniquement en anglais...
Ci dessous, voici un bout de code montrant l'utilisation de edtftpj - comme tu peux le constater, l'API est claire et intuitive et le fait d'avoir les sources (et la javadoc avec) permet même de s'affranchir de la consultation de la doc hors IDE la plupart du temps:
hth,
+++
J'utilise une librairie appelée edtftpj. Dans la version de base, il s'agit d'un open source; une version Pro existe (pour des transferts prenant en compte les protocoles ftps et sftp), regarder ici: https://enterprisedt.com/products/edtftpj/
Pour la partie basique: licence LGPL, donc possible de l'utiliser dans des projets commerciaux/d'entreprise. Tu trouveras de la doc (et des exemples) ici: https://enterprisedt.com/products/edtftpj/ Malheureusement uniquement en anglais...
Ci dessous, voici un bout de code montrant l'utilisation de edtftpj - comme tu peux le constater, l'API est claire et intuitive et le fait d'avoir les sources (et la javadoc avec) permet même de s'affranchir de la consultation de la doc hors IDE la plupart du temps:
private long performBackup(Daemon d) throws Exception { // Connect to the ftp and retrieve the information FTPClient ftpClient = new FTPClient(); long fileSize = 0; try { ftpClient.setRemoteHost(props.getProperty("ftp.ip")); ftpClient.setRemotePort(Integer.parseInt(props.getProperty("ftp.port"))); ftpClient.setConnectMode(FTPConnectMode.ACTIVE); ftpClient.connect(); ftpClient.login(props.getProperty("ftp.user"), props.getProperty("ftp.passwd")); // 5 mins for the timeout ftpClient.setTimeout(5 * 60 * 1000); ftpClient.setType(FTPTransferType.BINARY); //Date now = new Date(); String remoteFileName = props.getProperty("remote.file").toLowerCase(); String localFolderStr = props.getProperty("local.folder"); FTPFile[] dirList = ftpClient.dirDetails("."); for (FTPFile file : dirList) { if (file.getName().toLowerCase().startsWith(remoteFileName)) { d.logger.debug("Ftp get of " + file.getName()); ftpClient.get(localFolderStr + "/" + file.getName(), file.getName()); fileSize += new File(localFolderStr + "/" + file.getName()).length(); d.logger.debug("Ftp get okay; Ftp delete of " + file.getName()); ftpClient.delete(file.getName()); } } // ftpClient.get(fileStr, remoteFileName); // okay, file was saved - now clean a little File localDir = new File(props.getProperty("local.folder")); String[] files = localDir.list(); List<String> filesToDelete = new ArrayList<String>(); for (String fileName : files) { if (fileName.toLowerCase().startsWith(remoteFileName) && new File(localFolderStr + "/" + fileName).lastModified() < (new Date().getTime() - Long.parseLong(props .getProperty("retention.days")) * 24 * 3600 * 1000)) { filesToDelete.add(localFolderStr + "/" + fileName); } } for (Iterator iter = filesToDelete.iterator(); iter.hasNext();) { String aFile = (String) iter.next(); new File(aFile).delete(); } } catch (Exception exc) { throw exc; } finally { try { ftpClient.quit(); } catch (Exception e1) { } } return fileSize; }
hth,
+++
je travaille depuis un moment avec cette API! et je rencontre le problème suivant:
j'arrive pas à me connecter au serveur le code est le suivant :
public class ConnectToServer {
public static void main(String[] args) {
// set host, username and password
String host = "ftp://MyHost.fr";
String username = "MyUserName";
String password = "MyPassword";
// set up logger so that we get some output
Logger log = Logger.getLogger(ConnectToServer.class);
Logger.setLevel(Level.INFO);
FileTransferClient ftp = null;
try {
// create client
log.info("Creating FTP client");
ftp = new FileTransferClient();
// set remote host
log.info("Setting remote host");
ftp.setRemoteHost(host);
ftp.setUserName(username);
ftp.setPassword(password);
// connect to the server
log.info("Connecting to server " + host);
ftp.connect();
log.info("Connected and logged in to server " + host);
// Shut down client
log.info("Quitting client");
ftp.disconnect();
log.info("Example complete");
} catch (Exception e) {
e.printStackTrace();
}
}
}
je reçoit un problème au niveau de l'appel : ftp.connect();
et la resultat est le suivant:
INFO [com.enterprisedt.expl.ConnectToServer] 6 oct. 2008 15:48:10.323 : Creating FTP client
INFO [com.enterprisedt.expl.ConnectToServer] 6 oct. 2008 15:48:11.591 : Setting remote host
INFO [com.enterprisedt.expl.ConnectToServer] 6 oct. 2008 15:48:11.591 : Connecting to server ftp://MyHost.fr
java.net.UnknownHostException: ftp://MyHost.123.fr
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at com.enterprisedt.net.ftp.FTPClient.setRemoteHost(FTPClient.java:1299)
at com.enterprisedt.net.ftp.FileTransferClient.configureClient(FileTransferClient.java:403)
at com.enterprisedt.net.ftp.FileTransferClient.connect(FileTransferClient.java:365)
at com.enterprisedt.expl.ConnectToServer.main(ConnectToServer.java:35)
j'arrive pas à me connecter au serveur le code est le suivant :
public class ConnectToServer {
public static void main(String[] args) {
// set host, username and password
String host = "ftp://MyHost.fr";
String username = "MyUserName";
String password = "MyPassword";
// set up logger so that we get some output
Logger log = Logger.getLogger(ConnectToServer.class);
Logger.setLevel(Level.INFO);
FileTransferClient ftp = null;
try {
// create client
log.info("Creating FTP client");
ftp = new FileTransferClient();
// set remote host
log.info("Setting remote host");
ftp.setRemoteHost(host);
ftp.setUserName(username);
ftp.setPassword(password);
// connect to the server
log.info("Connecting to server " + host);
ftp.connect();
log.info("Connected and logged in to server " + host);
// Shut down client
log.info("Quitting client");
ftp.disconnect();
log.info("Example complete");
} catch (Exception e) {
e.printStackTrace();
}
}
}
je reçoit un problème au niveau de l'appel : ftp.connect();
et la resultat est le suivant:
INFO [com.enterprisedt.expl.ConnectToServer] 6 oct. 2008 15:48:10.323 : Creating FTP client
INFO [com.enterprisedt.expl.ConnectToServer] 6 oct. 2008 15:48:11.591 : Setting remote host
INFO [com.enterprisedt.expl.ConnectToServer] 6 oct. 2008 15:48:11.591 : Connecting to server ftp://MyHost.fr
java.net.UnknownHostException: ftp://MyHost.123.fr
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at com.enterprisedt.net.ftp.FTPClient.setRemoteHost(FTPClient.java:1299)
at com.enterprisedt.net.ftp.FileTransferClient.configureClient(FileTransferClient.java:403)
at com.enterprisedt.net.ftp.FileTransferClient.connect(FileTransferClient.java:365)
at com.enterprisedt.expl.ConnectToServer.main(ConnectToServer.java:35)