Java: l'Accès à un Fichier d'un Serveur FTP

J'ai donc ce serveur FTP avec un tas de dossiers et de fichiers à l'intérieur.

Mon programme doit pouvoir accéder à ce serveur, lisez tous les fichiers, et de les afficher leurs données.

À des fins de développement, j'ai travaillé avec les fichiers sur mon disque dur, à droite dans le "src" le dossier.

Mais maintenant que le serveur est opérationnel, j'ai besoin de connecter le logiciel à elle.

Fondamentalement, ce que je veux faire est d'obtenir une liste des Fichiers dans un dossier sur le serveur.

C'est ce que j'ai à ce jour:

URL url = null;
File folder = null;
try {
    url = new URL ("ftp://username:[email protected]/server");
    folder = new File (url.toURI());
} catch (Exception e) {
    e.printStackTrace();
}
data = Arrays.asList(folder.listFiles(new FileFilter () {
    public boolean accept(File file) {
        return file.isDirectory();
    }
}));

Mais je reçois l'erreur "schéma d'URI n'est pas 'le fichier'."

Je comprends que c'est parce que mon URL commence par "ftp://" et non pas "fichier:"

Cependant je n'arrive pas à comprendre ce que je suis censé faire!

Peut-être il ya une meilleure façon d'aller à ce sujet?

  • Pourquoi pensez-vous que la File constructeur serait en mesure de gérer autre chose que d'un file: URL?
  • Et cette question a été posée de nombreuses fois; peut-être l'un des autres réponses vont vous aider: stackoverflow.com/...
  • Voulez-vous être utiles, ou cynique? J'espérais. Le truc c'est que j'ai besoin d'une liste de fichiers. Je ne connais pas d'autre moyen d'aller à ce sujet.
  • Vous ne savez pas si vous pouvez à l'aide d'une URL. Vous voudrez peut-être consulter un FTP dédié bibliothèque comme Apache Net de Communes ou edtFTP4j
  • J'ai essayé d'utiliser edtFTPj/Gratuit mais une fois que je suis arrivé à FTPFile [] files = ftp.directoryList(); il a gelé pendant une minute et dit: "Read timed out." Je suppose que je devrais probablement commencer un thread sur ce, à la place.
  • vous devez être prudent, car certains serveurs ftp ne permet pas des listes de répertoire. Il dépend de la plate-forme (IBM, Sun, Windows) et comment il est configuré. Car il n'y a pas de véritable moyen standard de sortie des listes de répertoire, les clients ftp dépendent des analyseurs, et même alors, ils font des suppositions éclairées quant à la plate-forme qui ils parlent. J'utilise Net de Communes (communes net?) pour la plupart, car il est très simple de se lever et courir, mais surtout à cause de leur FTPS soutien.

InformationsquelleAutor Rich Young | 2013-01-22