Vérifier si le chemin d'accès existe sur le serveur ou pas en Java
Je suis entrain de créer un programme Java dans lequel je suis le téléchargement de fichiers vers le serveur sur un chemin particulier. Je suis à l'aide de jSch
pour sftp
.
Donc, avant de charger le fichier, je veux vérifier si le répertoire existe sur le serveur ou pas.
if(path exists)
//upload file to the location
else
//create the directory and then upload the file.
Comment puis-je vérifier le chemin d'accès existe ou pas?
Remarque: je suis d'exécuter le code sur un client de vérifier l'existence d'un répertoire distant sur un serveur. Donc merci de ne pas suggérer
File.exists()
.
nouveau Fichier("<path>").exists();
L'OP veut vérifier l'existence d'un fichier sur le serveur à partir d'un programme client ftp.
Il semblerait que ce soit le cas, mais honnêtement, facile à lire correctement la façon dont il est écrit. J'ai toujours eu à le lire deux fois pour voir ce que vous voulez dire; j'ai gardé en ignorant la première phrase.
Je ne sais pas pourquoi la question est downvoted??? Je veux vérifier le chemin d'accès sur le SERVEUR, pas sur la machine locale... Fichier.exists() ne fonctionne pas sur le serveur...
Je ne sais pas pourquoi le downvote, mais je peux deviner: la façon dont votre question est libellée suggère qu'un simple appel à
L'OP veut vérifier l'existence d'un fichier sur le serveur à partir d'un programme client ftp.
File.exists()
ne pas faire le travail.Il semblerait que ce soit le cas, mais honnêtement, facile à lire correctement la façon dont il est écrit. J'ai toujours eu à le lire deux fois pour voir ce que vous voulez dire; j'ai gardé en ignorant la première phrase.
Je ne sais pas pourquoi la question est downvoted??? Je veux vérifier le chemin d'accès sur le SERVEUR, pas sur la machine locale... Fichier.exists() ne fonctionne pas sur le serveur...
Je ne sais pas pourquoi le downvote, mais je peux deviner: la façon dont votre question est libellée suggère qu'un simple appel à
File.exists()
ou File.isDirectory()
faire ce que vous souhaitez. Vous devriez reformuler pour clarifier que vous souhaitez souligner que vous avez besoin d'exécuter du code sur un client de vérifier l'existence d'un répertoire distant sur un serveur.OriginalL'auteur Ankit Lamba | 2014-01-22
Vous devez vous connecter pour publier un commentaire.
La lecture de la Documentation pour ChannelSftp il apparaît, vous pouvez simplement
lstat
le répertoire:Si cela déclenche une exception, il n'existe pas. Vous pouvez ensuite utiliser
channelSftp.mkdir(path)
pour le créer.Donc ... il n'y est une réponse. La documentation est si terrible pour la bibliothèque, je ne pouvais vraiment pas dire, et une lecture rapide de son code n'a pas aider (ce n'est pas exactement l'auto documentation). (édité pour changer ce résultat est)
Vous pouvez simplement attraper l'exception de détecter que le répertoire n'existe pas.
Vous pouvez essayer de lister le contenu du répertoire parent à l'aide de channelSftp.ls("<dir parent path>") et vérifier si le dossier de votre choix existent.
Pourquoi? Ainsi, vous pouvez rajouter de la chaîne de traitement de votre code pour le fun?
OriginalL'auteur Brian Roach
Je ne suis pas familier avec cette bibliothèque, mais à partir de cet exemple de code: http://www.jcraft.com/jsch/examples/Sftp.java.html il semble que vous pouvez utiliser
pour récupérer le fichier, cela devrait vous dire si elle existe ou pas.
OriginalL'auteur Rhand