如何构建包含文件和子目录的可序列化树模型



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

好吧,我想我可以接受。

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

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

FileSerializable,实现TreeModelFileTreeModel非常简单,如这里所述。您可以使用以下代码遍历植根于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项,"在没有首先考虑是否合适的情况下,不要接受默认的序列化形式。"

相关内容

  • 没有找到相关文章

最新更新