将500 Mb文本文件加载到JTable时堆内存溢出

时间:2016-07-08 06:28:34

标签: java swing jtable heap-memory

我的任务是以table.Tat的形式在text.DAT文件中显示数据。我正在尝试用Java执行此操作。我使用Swing JTable来创建表,但由于文本文件是500 Mb,Java堆内存溢出。我理解这是由于为每一行表创建的每个对象。

有没有办法在不增加堆内存的情况下解决这个问题?

相关代码是: -

JFrame f = new JFrame();
        JTable tbl = new JTable();
        DefaultTableModel dtm = new DefaultTableModel(0, 0);
        line = br.readLine();
        String[] header = line.split(delimiter);
        dtm.setColumnIdentifiers(header);
        tbl.setModel(dtm);
        while ((line = br.readLine()) != null) { 
            String[] data = line.split(delimiter);
            dtm.addRow(data);
        }
        JScrollPane sp = new JScrollPane(tbl);
        f.add(sp);

0 个答案:

没有答案