将JTable的内容存储到文本文件中

问题描述:

我已经用5个文本框和一个按钮编写了一个波动表单。当我点击按钮保存时,输入的数据正在显示在表格中。现在我想将表中显示的数据存储到文本文件中。任何人都可以请帮我用这段代码。我仍然是一名java初学者,对java编码的想法很少。冲浪之后,我能够完成桌子部分。我附上了迄今为止完成的代码。请原谅我是否犯了一些愚蠢的错误。真的需要你的帮助。在此先感谢..将JTable的内容存储到文本文件中

import javax.swing.*; 
import java.awt.*;  
import java.awt.event.*; 

class ReadTextFile extends JFrame 
{ 
JButton save; 
JPanel panel; 
JLabel label1,label2,label3,label4,label5; 
final JTextField text1,text2,text3,text4,text5;  

ReadTextFile(){  
label1 = new JLabel(); 
label1.setText("English Word:"); 
text1 = new JTextField(20);  

label2 = new JLabel(); 
label2.setText("English Synonym:"); 
text2 = new JTextField(20); 

label3 = new JLabel();  
label3.setText("Kannada Word:");  
text3 = new JTextField(20);  

label4 = new JLabel();  
label4.setText("Kannada Synonym:");  
text4 = new JTextField(20);  

label5 = new JLabel(); 
label5.setText("Parts of Speech:");  
text5 = new JTextField(20);  

save=new JButton("SAVE");  

panel=new JPanel(new GridLayout(6,2));  
panel.add(label1);  
panel.add(text1);  
panel.add(label2);  
panel.add(text2);  
panel.add(label3);  
panel.add(text3);  
panel.add(label4);  
panel.add(text4);  
panel.add(label5);  
panel.add(text5);  
panel.add(save);  
add(panel,BorderLayout.CENTER);  
setTitle("Word Base");  

save.addActionListener(new ActionListener() {  
public void actionPerformed(ActionEvent ae){  
String value1=text1.getText();  
String value2=text2.getText();  
String value3=text3.getText();  
String value4=text4.getText();  
String value5=text5.getText();  
Object rowData[][] = { { value1, value2,value3,value4, value5} };  
Object columnNames[] = { "English Word", "English Synonym", "Kannada Word","Kannada Synonym","POS" };  
JFrame f=new JFrame();  
JTable table = new JTable(rowData,columnNames);   
JScrollPane scrollPane = new JScrollPane(table);  
JPanel p=new JPanel();  
p.add(scrollPane);  
f.add(p);  
f.setVisible(true);  
//f.setDefaultLookAndFeelDecorated(true);  
f.setSize(400,200);   
}  
});  
}   

public static void main(String arg[])  
{  
try  
{  
    ReadTextFile frame=new ReadTextFile();   
    frame.setSize(300,200);  
    frame.setVisible(true);  
}   
catch(Exception e)  
{}  
}  
}   
+1

如果您可以从文本框中检索数据,也可以将这些值写入文件。只是谷歌的东西像“写入字符串文件”。 http://*.com/questions/1053467/how-do-i-save-a-string-to-a-text-file-using-java有很多例子。如何在文件中设置文本格式完全取决于您。 – 2013-03-27 06:34:07

+0

您可以尝试使用类似[OpenCSV](http://opencsv.sourceforge.net/)的文件,它会为您编写/阅读大部分文件 – MadProgrammer 2013-03-27 07:51:31

首先,你需要添加按钮的单击事件,就像是:

save.addActionListener(new ActionListener(){ 
//this you must get JFiledText value and use ioStream input to file 
}) 
+3

不确定此答案是否帮助 – mKorbel 2013-03-27 06:59:37

在您的按钮动作监听器,你可以从表中获取数据表和写像这样进入文件。

StringBuffer sbTableData = new StringBuffer(); 
for(int row = 0; row < table.getRowCount(); row ++){ 
    for(int column = 0; column < table.getColumnCount(); column ++){ 
     sbTableData.append(table.getValueAt(row, column)).append("\t"); 
    } 
    sbTableData.append("\n"); 
} 
// Write `sbTableData.toString()` into a file here 
+0

谢谢大家。我能够做存储部分。你的所有建议都非常有帮助。 – Neelam 2013-04-01 05:51:09