如何通过java中的jtable中的默认程序打开文件

dba5bblo  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(296)

我正在做一个节目。然而,我做得不是很好。
我的程序是这样实现的:
vsm(包含路径和文件名作为属性)
book(包含string类型和object vsm类的属性)
库(库实际上包含book类的arraylist对象)
它都写在一个表中,通过这段代码,所选文件应该被打开,但是我得到了以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: The file: C:\file.pdf doesn't exist.

这是我的代码:

tabelaKnjiga_T.setRowSelectionAllowed(true);
        JTable jt = (JTable) evt.getSource();
        int p = jt.rowAtPoint(evt.getPoint());
        DefaultTableModel t2 = (DefaultTableModel) tabelaDatoteka_T.getModel();
        String s = (String) t2.getValueAt(p, 1);

        File file = new File(s);
        Desktop des = Desktop.getDesktop();
        try {
            des.open(file);
        } catch (IOException e) {
            e.printStackTrace();
        }

编辑:第一列包含id,通过该id可以找到文件路径。

oxf4rvwz

oxf4rvwz1#

大多数路径只显示文件所在的位置,但也不输入文件名,因此您无法打开它,因为您实际上是在打开文件夹。

相关问题