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 :

Lire un son// Lire ligne aléatoire d'un fichier texte


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 28
    Points
    28
    Par défaut Lire un son// Lire ligne aléatoire d'un fichier texte
    Salut à tous, je suis en train de finir mon jeu du pendu et il me reste 2 petits trucs pour le finir
    1./ , je souhaite y inserer des sons à jouer (relativement simple), un petit arrhhhhhhhhhhhhhhhhhh quand mon pendu se fait prendre, et un petit jingle quand il est sauvé, donc pour 2 lignes aussi courtes, je n'ai pas besoin des lignes de code de 100 lignes que je trouve sur le net, j'ai donc trouvé ce code qui me semblait relativement simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import java.net.URL; 
    import java.applet.Applet; 
    import java.applet.AudioClip; 
     
    public test() { 
    initComponents(); 
    URL url_1 = test.class.getResource( ".//fatality.wav" ); 
    AudioClip ac1 = Applet.newAudioClip(url_1); 
    ac1.play(); 
     
    }

    Mais au joie, je recois un magnifique message :

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    (oui oui, le fichier fatality.wav est a l'endroit indiqué directement dans la racine)

    2./our mon pendu, j'ai trouvé un dictionnaire sur un fichier texte, je voudrais pouvoir extraire une valeur au hasard mais j'obtiens tjs la meme :/ (le premier mot de mon .txt revient a chaque fois)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void motinconnu() 
    { 
    ligne = (int)(Math.random()*336530);//génere correctement le nombre 
    System.out.println(ligne); 
    try { 
    file = new File("data.txt"); 
    reader = new LineNumberReader(new FileReader(file)); 
    reader.setLineNumber(ligne); 
    System.out.println(reader.getLineNumber()); 
    MotCache = reader.readLine(); 
    System.out.println(MotCache); 
    } catch (IOException ex) {} 
     
    }
    ici le soucis est qu'il me renvoit a chaque fois le premier mot de mon dico alors que le random s'execute bien :/ (nb: le 336530 vient du fait que mon fichier texte possede 336530 lignes)

    Merci d'avance oour votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    1./
    Où est ta classe dans l'arborescence (compilée, pas source) ? Où est ton fichier .wav ?
    Tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test.class.getResource("fatality.wav")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test.class.getClassLoader().getResource("fatality.wav")
    2./
    Dans la Javadoc de LineNumberReader, on trouver
    By default, line numbering begins at 0. This number increments as data is read, and can be changed with a call to setLineNumber(int). Note however, that setLineNumber(int) does not actually change the current position in the stream; it only changes the value that will be returned by getLineNumber().
    Donc pour aller à la ligne que tu veux, je ne pense pas qu'il y ait mieux qu'une veille boucle de lecture de ligne ^^

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par freedumz Voir le message
    Mais au joie, je recois un magnifique message :

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    (oui oui, le fichier fatality.wav est a l'endroit indiqué directement dans la racine)
    Pour être utilisable par getResource, il doit être dans le classpath. Ensuite, si il est à la racine du classpath, ce doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    URL url_1 = test.class.getResource( "/fatality.wav" ); 
    AudioClip ac1 = Applet.newAudioClip(url_1);
    Citation Envoyé par freedumz Voir le message
    2./our mon pendu, j'ai trouvé un dictionnaire sur un fichier texte, je voudrais pouvoir extraire une valeur au hasard mais j'obtiens tjs la meme :/ (le premier mot de mon .txt revient a chaque fois)
    setLineNumber, ne fait que changer le numéro de la ligne actuelle, ça ne te fais pas avancer dans le fichier. Pour avancer à la ligne X du fichier, il faut faire appel X fois à readLine()

Discussions similaires

  1. [Débutant] Lire un nombre de ligne spécifique dans un fichier texte
    Par cazteam dans le forum VB.NET
    Réponses: 6
    Dernier message: 26/08/2012, 20h07
  2. Lignes Aléatoires dans un fichier texte
    Par bob456 dans le forum C#
    Réponses: 6
    Dernier message: 06/11/2010, 15h47
  3. Chercher une ligne aléatoire dans un fichier texte
    Par pyopyo dans le forum Langage
    Réponses: 1
    Dernier message: 30/04/2008, 09h26
  4. [VB 2.0] Lire ligne x à y dans fichier texte
    Par cacalex dans le forum VB.NET
    Réponses: 7
    Dernier message: 09/02/2007, 10h00

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