IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Java.lang.String, simplifier endsWith()


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Corée

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 253
    Par défaut Java.lang.String, simplifier endsWith()
    Bonjour !

    Sur mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    boolean containsForbiddenFormat (String url) {
    	return (
    		url.endsWith(".pdf") ||
    		url.endsWith(".exe") ||
    		url.endsWith(".vb")
    	);
    }
    Seulement je veux l'appliquer à une bonne trentaine d'extensions, il y a un moyen plus pratique que d'écrire 30 lignes ?

    Sinon en fait je veux récupérer des URL, mais à cause du rewriting d'URL qui se fait de plus en plus, si je me contente des ".html, .php, ..." je vais rater tous les trus du genre www.site.com/categorie/vacances-a-la-plage
    Si vous avez une idée sur ça sinon, c'est encore mieux !

    Merci

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    S'il y a une trentaine d'extensions, 30 lignes n'est pas idiot Nous sommes en Java, que diable il parait qu'il y a des langages qui sont plus efficaces... vas-y !

    Sinon tu peux mettre tes extensions dans un tableau et vérifier si l'une d'elles convient dans une boucle, sinon tu peux aussi utiliser des regexp.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    sinon tu as çà, coté rapide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    HashMap<String> extensions = new HashMap<String>();
    extensions.addAll(Arrays.asList(new String[]{".pdf",".html",".php"}));
    //.....
    int i = filename.lastIndexOf(".");
    String extension = filename.subString(i).toLowerCase();
    if ( (i>=0) && extensions.contains(extension))
      // On a une extension interdite
    avantage, comme la recherche se fait par hash, on ne passe pas sur toutes la liste d'extensions.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Corée

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 253
    Par défaut
    Pas trop mal comme solution, merci.

    Si quelqu'un reprends ça, je crois qu'en java subString s'écrit "substring".

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    et il faut faire le substring dans le if, sinon, quand il y a pas de . ca foire

    et donc décomposer le if en deux (if i>=0 puis l'extraction de l'extension, puis le contains)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. java.lang.String cannot be cast to Item
    Par cotede2 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 10/11/2009, 14h34
  2. Réponses: 1
    Dernier message: 24/02/2009, 19h18
  3. faultString: java.lang.ArrayStoreException: : java.lang.String
    Par Dev_info dans le forum Services Web
    Réponses: 3
    Dernier message: 21/05/2007, 15h42
  4. java.lang.String#toUpper et le char µ
    Par metalpetsFR dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 14/12/2006, 10h10
  5. Réponses: 3
    Dernier message: 19/05/2006, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo