gpt4 book ai didi

java - 有没有办法从 jtable 下载选定的行?

转载 作者:行者123 更新时间:2023-12-01 18:10:34 24 4
gpt4 key购买 nike

我希望能够从 jtable 中选择一行并将其下载到 .txt 文件中。不是整个数据库只是选定的行。这可能吗?

目前我正在做的是选择行并将它们传输到单独的 jtable,然后使用此代码从那里下载进行传输。

DefaultTableModel model1 = (DefaultTableModel) Shortlist_Table.getModel();
int[] indexs = Shortlist_Table.getSelectedRows();
Object[] row = new Object[3];
DefaultTableModel model2 = (DefaultTableModel) Final_Table.getModel();
for(int i=0; i<indexs.length; i++)
{
row[0] = model1.getValueAt(indexs[i], 0);
row[1] = model1.getValueAt(indexs[i], 1);
row[2] = model1.getValueAt(indexs[i], 2);
model2.addRow(row);
}

然后使用此代码下载到 .txt 文件。

private void jButtonExportActionPerformed(java.awt.event.ActionEvent evt) {                                              

String filePath = "C:\\Users\\omar\\Desktop\\myfolder\\txtfile.txt";
File file = new File(filePath);
try {
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);

for(int i = 0; i < jTableExport.getRowCount(); i++){//rows
for(int j = 0; j < jTableExport.getColumnCount(); j++){//columns
bw.write(jTableExport.getValueAt(i, j).toString()+" ");
}
bw.newLine();
}

bw.close();
fw.close();

} catch (IOException ex) {
Logger.getLogger(JTable_import_and_export_to_text_file.class.getName()).log(Level.SEVERE, null, ex);
}

}

但我想提高效率,但在网上找不到任何地方可以显示如何将所选行直接下载到文件中。感谢任何帮助,谢谢!

编辑2:我一直在尝试想出一些办法,到目前为止我已经做到了:

try{
File file = new File("/Users/lucacassin/NetBeansProjects/Recruitment\\ Project/HiredCandidatesTextFile.txt");
if(!file.exists()){
file.createNewFile();
}

try (FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw)) {

int row = Shortlist_Table.getSelectedRow();
bw.write(Shortlist_Table.getModel().getValueAt(row, 0)+" ");
bw.write(Shortlist_Table.getModel().getValueAt(row, 1)+" ");
bw.write(Shortlist_Table.getModel().getValueAt(row, 2)+" ");
bw.write("\n_________\n");


}
JOptionPane.showMessageDialog(null, "Data Exported");

}catch(HeadlessException | IOException ex){
}

但是,它没有做任何事情,我不知道出了什么问题,因为没有抛出任何错误或任何事情,只是什么也没发生。有什么想法吗?

最佳答案

如果其他人需要它,我想出了如何做到这一点。与我上面的编辑类似,但我将完整的文件路径放在我应该只放置部分文件名的位置。现在可以多次运行而不会覆盖文件。

           try (FileWriter fw = new FileWriter("HiredCandidatesTextFile.txt",true); BufferedWriter bw = new BufferedWriter(fw)) {

int row = Shortlist_Table.getSelectedRow();
bw.write(Shortlist_Table.getModel().getValueAt(row, 0)+" ");
bw.write(Shortlist_Table.getModel().getValueAt(row, 1)+" ");
bw.write(Shortlist_Table.getModel().getValueAt(row, 2)+" ");
bw.write("\n_________\n");


} catch (IOException ex) {
Logger.getLogger(AddShortlist.class.getName()).log(Level.SEVERE, null, ex);
}
JOptionPane.showMessageDialog(null, "Data Exported");

关于java - 有没有办法从 jtable 下载选定的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60475832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com