1

我正在尝试TreeModel为 Java 应用程序构建一个。由于我需要对其进行序列化并通过 发送它ObjectOutputStream,因此我正在尝试使用 ,DefaultTreeModel因为它实现了Serializable接口。

好吧,我想我没问题。

我的问题是:现在,如何构建一个DefaultTreeModel包含目录(作为参数传递,DefaultMutableTreeNode我猜是?)及其所有文件和子目录?

我用 a 实现了这一点,JTree但它似乎不是可序列化的,所以现在我被卡住了,因为我无法理解文档示例。

4

1 回答 1

2

FileisSerializable和 a FileTreeModelthat implementsTreeModel很简单,如此所述。File f您可以使用以下代码遍历植根于树的树:

private void ls(File f) { 
    File[] list = f.listFiles();
    for (File file : list) {
        if (file.isDirectory()) ls(file);
        else handle(file);
    }
}

还要考虑 Bloch 的建议,第 75 条,“不要在没有首先考虑是否合适的情况下接受默认的序列化形式”。

于 2013-02-13T22:27:31.677 回答