2013-11-22 110 views
0

我試圖搜索特定字符串的csv文件。我想打印出csv中具有特定模塊的所有條目,但是我似乎無法使其工作。也可以在一個JOptionPane窗口中打印輸出,而不是每個結果的不同窗口。搜索文本文件並打印Java

CSV格式

12175466,C98754,B

12141895,CS40​​54,B

12484665,CS3054,B

18446876,CS1044,B

用戶輸入:CS4054

預期結果:12141895,CS40​​54,B

public static void DisplayResults() throws IOException 
{ 
     String line; 
     String stringToSearch = JOptionPane.showInputDialog(null, "Enter the module code "); 


      BufferedReader in = new BufferedReader(new FileReader("StudentResults.csv")); 
      line = in.readLine(); 

      while (line != null) 
      { 
       if (line.startsWith(stringToSearch)) 
       { 
       JOptionPane.showMessageDialog(null, line);     
       }  
       line = in.readLine(); 
      } 

      in.close(); 

回答

2

您的意思是使用startswith?也許嘗試包含。

這個怎麼樣?

String theAnswer=""; 
if (line.contains(stringToSearch)) { 
    theAnswer += line +"\n"; 
}  
JOptionPane.showMessageDialog(null, theAnswer);   
0

您的CSV文件具有特定格式:值之間用逗號分隔。所以你可以將每一行分成一個數組並檢查第二個值。

String[] values = line.split(","); 
if(values[1].trim().equals(stringToSearch)) 
    JOptionPane.showMessageDialog(null, line); 

編輯: 使用上面的代碼,當你確信,用戶總是在第二個值類型。如果你想搜索所有條目使用此:

for (String val : values) 
    if(val.trim().equals(userInput)) 
     JOptionPane.showMessageDialog(null, line); 
相關問題