Partage
  • Partager sur Facebook
  • Partager sur Twitter

Savoir si fichier s'incrémente en continu. Thread?

    10 juillet 2019 à 11:16:17

    Bonjour à tous!

    Je code sous  Java un programme qui doit tester en continu si un fichier texte s'incrémente bien.

    Pour ce faire, je récupère la taille du fichier en octet:

    long octets=new File("monFichier.txt").length();
    

    Ici la méthode qui vérifira que le fichier s'incrémente ou non!

    private void verification() {
       while (true) {
    	 octets=new File("monFichier.txt").length();
    	 if (octets!=octets2) {			 
                   System.out.println("Problème");
    	 }
        TimeUnit.SECONDS.sleep(5); //pour permettre au fichier de se remplir
        octets2=new File("monFichier.txt").length();
       }
    }



    Mais le problème est de lancer cette méthode en continu. La phrase n'est pas correcte mais "mettre cette méthode dans un thread" pourrait-être une solution?

    Merci d'avance



    -
    Edité par Romain29r 10 juillet 2019 à 11:25:55

    • Partager sur Facebook
    • Partager sur Twitter
      10 juillet 2019 à 11:54:41

      Ne crée pas un objet File à chaque fois. Définis-le une fois pour toutes à l'extérieur de la boucle.

      Romain29r a écrit:

      La phrase n'est pas correcte mais "mettre cette méthode dans un thread" pourrait-être une solution?

      Ce n'est pas une solution, c'est la solution.

      Ca donnerait quelque chose comme ça :

      Thread thread = new Thread() {
      
          @Override
          public void run() {
              File file = new File("monFichier.txt");
              long octets2 = 0L;
              while (true) {
                  octets = file.length();
                  if (octets!=octets2) {         
                      System.out.println("Problème");
                  }
                  TimeUnit.SECONDS.sleep(5); //pour permettre au fichier de se remplir
                  octets2 = octets;
              }
          }
      
      };
      thread.start();

      Le problème, c'est que quand on commence à jouer avec les threads il faut vraiment savoir ce qu'on fait. Suis un tutoriel d'abord.

      En particulier, il va bien falloir stopper ce thread un jour ou l'autre... et ce n'est pas aussi simple que ça en a l'air.

      -
      Edité par Zachee54 10 juillet 2019 à 11:55:36

      • Partager sur Facebook
      • Partager sur Twitter
        10 juillet 2019 à 12:30:03

        Merci pour ta réponse!

        Je vais me pencher sur les threads et je reviendrai pour continuer le topic!

        • Partager sur Facebook
        • Partager sur Twitter

        Savoir si fichier s'incrémente en continu. Thread?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown