2017-10-06 1 views
0

Je suis en train d'accéder aux données du fichier CSV à l'aide du Java et A communes de Pache bibliothèque CSV. Je suis coincé dans un problème. Le problème est: "Pour afficher les données de la ligne particulière si" Name "Header est égal à" rahul ", lorsque je lance le code, rien n'est imprimé là-bas."Recherche de « Item » dans le fichier CSV à l'aide commons java et apache bibliothèque CSV

Les données contenues dans le fichier exportdata.csv est:

  • Nom, nourriture, téléphone
  • Rahul, riz, 9876416884
  • ram
  • , oeufs, 8437123456
  • Rohit, Burger, 9814125755
  • amit, poulet, 8568934464

Et mon code est:

public class csvexample { 

public void readfile() 
{ 
    FileResource fr=new FileResource(); 
    CSVParser parser=fr.getCSVParser(); 
    for(CSVRecord record : parser) 
    { 

     String str=record.get("Name"); 
     System.out.println(str); 

     if(str=="rahul") 
     { 
     System.out.print(record.get("Name") + " "); 
     System.out.print(record.get("Phone") + " "); 
     System.out.println(record.get("Food")); 
     }   
    } 
} 

Je pense que l'erreur est dans la ligne if (str == « Rahul »), j'ai vérifié que le programme ne traite pas la str et « Rahul » même quand str = « Rahul » dans la première itération de pour la boucle.

+0

Je pense que cela pourrait aider https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java/513839#513839 – shadowsheep

Répondre

1

car ce sont deux objets String différents, même s'ils ont les mêmes caractères. Essayez if ("rahul".equals(str))

+0

Thanxxxx alot ...... "Dbug" –

+0

Je viens d'essayer la solution donnée par vous .... Cela a bien fonctionné .... !!! Thanxxx encore une fois .... !!! –

+0

Bienvenue, heureux d'aider – DBug

-1

Je ne sais pas mais vous pouvez essayer ceci:

import java.io.BufferedReader; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 

public void readFile() { 

    String csvFile = "exportdata.csv"; 
    String line = ""; 
    String cvsSplitBy = ","; 

    try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) { 

     while ((line = br.readLine()) != null) { 

      // use comma as separator 
      String[] str = line.split(cvsSplitBy); 
      String name = str[0]; 

      if(name.equals("rahul")){ 
       System.out.print("Name: " + str[0]); 
       System.out.print(" Food: " + str[1]); 
       System.out.println(" Phone: " + str[2]); 
      } 

     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 

Espérons que cela vous aidera.

+0

Thanxxx ... beaucoup .... !!! Je vais juste l'essayer et ... Faites le savoir Si je suis confronté à des difficultés. –