Utilisation JSch de mettre un fichier dans le répertoire distant et si le répertoire n'existe pas, le créer
Je voudrais copier un fichier dans le répertoire distant à l'aide de Jsch bibliothèque et le protocole SFTP.
Si le répertoire de l'hôte distant n'existe pas, créez-la.
Dans la doc API, http://epaul.github.com/jsch-documentation/javadoc/, j'ai remarqué dans le
mettre la méthode qu'il existe une sorte de "mode" mais c'est juste le mode de transfert:
- le mode de transfert de l'un de CV, AJOUTER, REMPLACER.
Est-il un moyen facile de le faire sans avoir à écrire mon propre code pour vérifier l'existence
et puis créer un répertoire de façon récursive?
OriginalL'auteur woraphol.j | 2012-10-11
Vous devez vous connecter pour publier un commentaire.
Pas pour autant que je sais. J'utilise le code suivant pour obtenir la même chose:
où
sftp
est leChannelSftp
objet.OriginalL'auteur Nick Wilson
C'est de cette façon-je vérifier l'existence d'un répertoire dans JSch.
De créer un répertoire s'il n'existe pas
OriginalL'auteur abi1964
La réponse ci-dessus peut ne pas fonctionner si vous vous connectez à un serveur distant avec plusieurs threads. Considérons par exemple lorsque le protocole sftp.cd exécute il n'y a pas de dossier nommé "dossier", mais lors de l'exécution de sftp.mkdir(dossier) dans la clause catch l'autre thread créé.
Meilleure façon (bien sûr, pour unix serveurs distants) est d'utiliser ChannelExec et de créer des répertoires imbriqués à l'aide de "mkdir -p de la commande".
OriginalL'auteur محمدباقر
Même solution prête méthode abstraite avec des fonctionnalités supplémentaires:
supprimer si le même fichier existe déjà.
OriginalL'auteur Zon