Java Jtable数据到txt
我正在尝试将我的jTable导出到文本文件。这是我的密码Java Jtable数据到txt,java,swing,file,netbeans,jtable,Java,Swing,File,Netbeans,Jtable,我正在尝试将我的jTable导出到文本文件。这是我的密码 for (int i = 0; i < table.getRowCount(); i++) { for (int y = 0; y < table.getColumnCount(); y++) { if (table.getValueAt(i, y) != null) { bw.write(table.getValueA
for (int i = 0; i < table.getRowCount(); i++) {
for (int y = 0; y < table.getColumnCount(); y++) {
if (table.getValueAt(i, y) != null) {
bw.write(table.getValueAt(i, y) + " ");
}
}
bw.newLine();
}
将所有值打印到文本文件。
但这是:
[value1][value2][value3]
[value4][value5][value6]
[null][null][null]
仅打印值1、值2、值3、值4和值5。
问题在哪里 尝试以下操作:
public void writeTXT(JTable table) throws IOException, ClassNotFoundException, SQLException {
Writer writer = null;
try{
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("filename.txt")));
StringBuffer bufferHeader = new StringBuffer();
for(int i = 0; i<table.getColumnCount();i++){
bufferHeader.append(table.getColumnName(i));
if(i!=table.getColumnCount()) bufferHeader.append(" ");
}
writer.write(bufferHeader.toString()+"\r\n");
for(int j = 0; j<table.getRowCount(); j++){
StringBuffer buffer = new StringBuffer();
for (int k = 0; k<table.getColumnCount(); k++){
buffer.append(table.getValueAt(j,k));
if(k!=table.getColumnCount()) buffer.append(" ");
}
writer.write(buffer.toString()+"\r\n");
}
}finally{
writer.close();
}
}
如果没有列名/不需要列名,请不要包含第一个for循环。我对这个问题投了否决票,因为没有证据表明对此代码执行了任何调试。请您的问题向我们展示您的调试发现了什么,以及关于特定代码行的特定问题。请看:和。可能是重复的。垃圾上帝-非常感谢。它起作用了。你可以把你的答案写下来作为答案,这样我就可以给你的答案打分了
public void writeTXT(JTable table) throws IOException, ClassNotFoundException, SQLException {
Writer writer = null;
try{
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("filename.txt")));
StringBuffer bufferHeader = new StringBuffer();
for(int i = 0; i<table.getColumnCount();i++){
bufferHeader.append(table.getColumnName(i));
if(i!=table.getColumnCount()) bufferHeader.append(" ");
}
writer.write(bufferHeader.toString()+"\r\n");
for(int j = 0; j<table.getRowCount(); j++){
StringBuffer buffer = new StringBuffer();
for (int k = 0; k<table.getColumnCount(); k++){
buffer.append(table.getValueAt(j,k));
if(k!=table.getColumnCount()) buffer.append(" ");
}
writer.write(buffer.toString()+"\r\n");
}
}finally{
writer.close();
}
}