2013-11-24 134 views
0

我试图在JOptionPane窗口中显示搜索结果,以便在文本文件中找到某个搜索结果时,在文本文件中打印出该行。但它在单独的窗口中打印出每一行,是否有任何方法可以将它们全部打印在同一窗口中?JOptionPane显示循环

public static void DisplayGrades() throws IOException 
{  
     String line; 
     String stringToSearch = JOptionPane.showInputDialog(null, "Enter your student ID"); 


      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(); 



     } 

回答

0

您可以使用StringBuilder所有行追加一个字符串,并把后,才到JOptionPane

StringBuilder buff = new StringBuilder(); 

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

     while (line != null) 
     { 
      if (line.startsWith(stringToSearch)) 
      { 
      buff.append(line).append("\n");     
      }  
      line = in.readLine(); 
     } 

     in.close(); 

     JOptionPane.showMessageDialog(null, buff.toString()); 

作为一个方面说明

它不是好主意,把CSV成果转化为JOptionPane。我会写定制JDialog