Bonjour,

Je cherche à vérifier si une url correspond bien à un fichier existant. Pour cela, j'utilise un objet URLConnection qui se charge de vérifier l'existence ou non du fichier en évaluant sa taille (-1 = que dalle). Ça se passe comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
try {
   url = new URL(this.getPreviewRepository(webServerUrl) + "/" + this.getSource().getFilename();
   URLConnection uc = url.openConnection();
   int previewLenght = uc.getContentLength();
   if (previewLenght == -1) {
      throw new IOException("Fichier non valide");
   } else {
      System.out.println("fichier valide, taille = " + previewLenght);
      previewUrl = url.toString();
   }
} catch (MalformedURLException e) {
} catch (IOException ioe) {}
Le problème est qu'a l'exécution, même en entrant des url éronées, l'appli ne trouve que des fichiers valides et des tailles valides, même pour des fichiers inexistants.

// Bonne url
INFO [STDOUT] fichier valide, taille = 5269
// url bidon
INFO [STDOUT] fichier valide, taille = 237
C'est peut être moi qui utilise mal URLConnection ?
Ou peut être existe-il un meilleur moyen de vérifier l'existence d'un fichier distant ?