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

Java Discussion :

Choisir des lignes aleatoirement d'un fichier texte


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Par défaut Choisir des lignes aleatoirement d'un fichier texte
    Bonjour,
    j'ai un fichier text qui contient plusieurs lignes( pres de 1000 lignes ) , chaque lignes correspond a un site web de la forme http://www.developpez.com/
    J'arrive a lire le contenu de mon fichier ligne par ligne cava et afficher son contenu
    Ce que j'essaye de faire c'est de prendre 100 lignes au hasard parmis ces 1000 lignes afin d'y faire un traitement, il y'a une méthode possible ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Par défaut
    Je te propose une solution : enregistrer les lignes du fichier dans un ArrayList<String>, puis sélectionner une ligne au hasard en utilisant la méthode Math.random().

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Par défaut
    Plus simplement, récupérer le nombre de ligne, faire un random sur ce nombre (voir la classe proposé par verbose "Math.random()" pour les détails), puis aller rechercher la ligne en question dans le fichier, cela 100 fois. (En faisant attention de ne pas prendre deux fois la même, etc...) Ça évitera de devoir stocker 900 String inutiles en mémoire
    (Maintenant si tu dois faire ce random de 100 lignes un grand nombre de fois, ça sera peut-être plus rapide à terme de tout stocker directement, c'est à toi de voir )

  4. #4
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Si le fichier est gros et le "pick" fait plusieurs fois, on peut commencer par "parser" le fichier pour enregistrer les positions des lignes et utiliser un RandomAccessFile pour aller les chercher
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  5. #5
    Membre chevronné
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Par défaut
    le fichier contient 1000 sites web
    im subira le meme traitement périodiquement (chaque 1h on prend 100 site par hasard pour les tester ...)
    c'est mieux de les stocker ou bien ...

  6. #6
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    1000 chaîne de caractères, ca reste une volumétrie largement gérable en mémoire.

    Une option est alors de "randomiser" la liste.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/12/2013, 14h25
  2. Choisir des lignes dans un fichier *.txt
    Par MTN84 dans le forum MATLAB
    Réponses: 16
    Dernier message: 14/11/2008, 21h32
  3. Transposer des données sql dans un fichier texte
    Par Anakior dans le forum Outils
    Réponses: 3
    Dernier message: 11/12/2005, 10h01
  4. Extraire des lignes precises d'un fichier
    Par keke33 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 03/06/2004, 10h52

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