2013-11-22 78 views
0

您好:親愛的朋友, 嗯,我正在開發一個項目,我已經定義了一個將數據寫入文本文件的函數,下面這個函數是從文件讀取數據的,所以這個小問題,每個數據似乎是一個分離的JOptionPane消息對話框,我如何定義一個GUI,讓我來格式化功能的方式,數據的顯示,同時,從特定格式的文件中讀取

int i=0; 
Object[] options = {"OK"}; 
try 
{ 
FileInputStream in = new FileInputStream("records.txt"); 
BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
String strLine; 

while((strLine = br.readLine())!= null) 
{ 
JOptionPane.showMessageDialog(null, strLine +"\n"); 
} 

}catch(Exception e){ 
JOptionPane.showOptionDialog(null, "Error", "Customers",  JOptionPane.PLAIN_MESSAGE,JOptionPane.QUESTION_MESSAGE, null, options, options[0]); 
} 

任何幫助表示讚賞,

+1

某處存儲行(列表?),格式化存儲的內容然後顯示? – 2013-11-22 06:25:00

回答

0

你需要的StringBuffer或StringBuilder的..這樣的..

try 
{ 
FileInputStream in = new FileInputStream("records.txt"); 
BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
String strLine; 
StringBuffer sb = new StringBuffer(); 
while((strLine = br.readLine())!= null) 
{ 
    sb.append(strLine +"\n"); 
} 
JOptionPane.showMessageDialog(null, sb.toString()); 
}catch(Exception e){ 
JOptionPane.showOptionDialog(null, "Error", "Customers",  JOptionPane.PLAIN_MESSAGE,JOptionPane.QUESTION_MESSAGE, null, options, options[0]); 
} 
0

你需要這樣的東西

StringBuilder builder = new StringBuilder(); 
while ((strLine = br.readLine()) != null) { 
      builder.append(strLine).append('\n'); 
} 
JOptionPane.showMessageDialog(null, builder.toString()); 
0

那是因爲你的JOptionPane.showMessageDialog是內環路。 使用StringBuilder將所有輸入和 調用循環外的JOptionPane.showMessageDialog。

0

使用IOUtil從Apache的常見,

InputStream is = new FileInputStream("records.txt"); 
String fileContent = IOUtils.toString(is); 
JOptionPane.showMessageDialog(null, filecontent); 
is.close(); 

否則使用StringBuilder並在每行附加到它。