Verification de la présence d'un mot dans un fichier texte

aaaaaaa! Messages postés 6 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Ce code ne marche pas pk stp ?

if( "src\\film\\Description\\_300.txt".contains(" " + "300 soldats spartiates" + " "))
{
System.out.println("il le contient !");
}
else{
System.out.println("Il est égal !");
}

Il est censé m'affiché il le contient et m'affcihe il est égal

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    À aucun moment tu ne manipules un fichier ici !

    Il faudrait commencer par ouvrir le fichier, lire son contenu, et après regarder s'il contient les valeurs que tu veux... pour l'instant t'en es loin !
    0
    1. aaaaaaa! Messages postés 6 Statut Membre
       
      et avec çà ?
      c'est un sous partie d'une application
      en gros mon z représente une adresse d'un fichier
      J'arrive bien a afficher mon fichier mais cependant pas a effectuer la recherche afin d'afficher que celle présentant dans la ligne "de".

       public void LireFichier(String z)
          {
      try
      {
          
          File f = new File (z);
          FileReader fr = new FileReader (f);
          BufferedReader br = new BufferedReader (fr);
       
          try
          {
              String line = br.readLine();
              String toute_les_lignes = "";
             // jTextArea2.setText(line);
              while (line != null)
              {
                  line = br.readLine();
                  
                  if( line.contains("de")){  //recherche de contenance de 
                 toute_les_lignes += line+"\n"; //met la ligne dans un deuxième string
                 jTextArea2.setText(toute_les_lignes); //affiche mon deuxième string 
                  }
                  else{
                  
                  }
              }
       
              br.close();
              fr.close();
          }
          catch (IOException exception)
          {
              System.out.println ("Erreur lors de la lecture : " + exception.getMessage());
          }
      }
      catch (FileNotFoundException exception)
      {
          System.out.println ("Le fichier n'a pas été trouvé");
      }
            
         }
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      C'est compliqué tout ça...

      Tu mélanges la lecture du fichier, son filtrage, et l'affichage dans le Swing, ça devrait être des morceaux de code différents.

      public static List<String> readFile(String fileName) throws IOException {
          return Files.readAllLines(Paths.get(fileName));
      }
      
      public static List<String> retainIfContains(List<String> lines, String required) {
          List<String> retain = new ArrayList<>();
          for (String line : lines)
              if (line.contains(required))
                  retain.add(line);
          return retain;
      }
      
      public static String merge(List<String> lines) {
          StringBuilder sb = new StringBuilder();
          for (String line : lines)
              sb.append(line).append('\n');
          return sb.toString();
      }
      
      List<String> lines = readFile("myFile.txt");
      lines = retainIfContains(line, "de");
      String text = merge(lines);
      jTextArea2.setText(text);
      0