2

我试图弄清楚如何为我正在尝试制作的 Java shell 制作看起来像文件夹文件结构的东西。我希望它类似于 linux 文件夹结构(具有根目录并且所有内容都来自它)。

对于初学者,我想知道我是否应该使用 TreeMap(因此保持某种类型的顺序)或者是否有更好的东西。我知道 Java 的 API 很庞大,并且有许多不同的数据结构,我只是不确定哪个是合适的。

另一个问题是在“目录”之间导航。我所拥有的基本概念是使用变量作为“地标”,这会根据我要去或离开的地方而改变。

树中的文件夹将是由根(main.class)创建的“服务器”对象(server.class),而根(main.class)又具有由服务器对象中的方法创建的“应用程序”对象(application.class)。

我的概念是否站得住脚,或者这没有希望工作?

4

3 回答 3

1

如果您使用的是 java7,则可以查看 shrinkwrap实现您自己的FileSystemProvider

在 java7 之前,模拟“内存中的文件系统”是相当复杂的。您可以查看commons-vfs,但如果我没记错的话,它只处理 URL 而不是文件。

于 2013-01-03T12:33:17.827 回答
0

这听起来根本不像 Map(键/值存储)。

我宁愿有一个文件/目录对象的树结构。您当前的位置被简单地记录为 Directory 对象的一个​​实例。我怀疑为了效率你可能需要一个双重链接的结构。

这个SO question/answer可能会提供更多信息和建议。

于 2013-01-03T12:28:57.630 回答
0

使用真正的 Tree 结构,而不是 TreeMap。它可以在内部将 TreeMaps 用于每个节点(文件夹)的内容,但整体不应该是 TreeMap。

于 2013-01-03T12:29:04.310 回答