使用TreeMap仿真文件系统?

时间:2013-01-03 12:24:08

标签: java data-structures conceptual

我试图找出如何制作看起来像我想要制作的Java shell的文件夹文件结构的东西。我希望它类似于linux文件夹结构(有一个root并且都是从它下载)。

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

另一个问题是在“目录”之间导航。我所拥有的基本概念就是使用变量作为“里程碑”的路线,这些变量将根据我移动或移动的位置而改变。

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

我的概念是否存在水或者没有希望工作?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

这根本不像地图(键/值存储)。

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

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

答案 2 :(得分:0)

使用真实的树结构,而不是TreeMap。 它可以在内部使用TreeMaps来获取每个节点(文件夹)的内容,但整体不应该是TreeMap。