在 Java 中复制目录结构的最佳数据结构?
Best kind of data structure to replicate directory structure in Java?
所以,基本上,我试图将路径组织成一个数组(列表或映射)以复制所述路径的目录结构。
因此,例如:
res/icons/java.png
src/Main.java
src/somepackage/Stuff.java
lib/somelib.jar
我们的想法是将它们存储到一个数据结构中,该数据结构可以迭代到某种形式的 GUI 显示中。像 TreeView (JavaFX)。
我正在考虑通过将所有路径放入常规 String[] 数组然后循环遍历它们并用“/”拆分每个路径然后检查作为文件夹的每个部分是否已经存在于一个数据结构。如果是,则只需将文件放在最后,如果不是,则创建一个数组,其中键 = 文件夹名称,值 = 文件。
tl;dr - 是否有 java 类似数组的结构可用于复制类似结构的目录?
考虑递归方法。在伪代码中:
Class Item
Boolean isFile
String title
List<Item> items
AddItem(item)
RemoveItem(item)
Iterate()
在此class中,您可以扩展ArrayList<Item>
。在这种情况下,您不需要保留项目列表。您还将有很多方法可以直接使用。
如果您需要帮助输入 Java,请说出来。
所以,基本上,我试图将路径组织成一个数组(列表或映射)以复制所述路径的目录结构。
因此,例如:
res/icons/java.png
src/Main.java
src/somepackage/Stuff.java
lib/somelib.jar
我们的想法是将它们存储到一个数据结构中,该数据结构可以迭代到某种形式的 GUI 显示中。像 TreeView (JavaFX)。
我正在考虑通过将所有路径放入常规 String[] 数组然后循环遍历它们并用“/”拆分每个路径然后检查作为文件夹的每个部分是否已经存在于一个数据结构。如果是,则只需将文件放在最后,如果不是,则创建一个数组,其中键 = 文件夹名称,值 = 文件。
tl;dr - 是否有 java 类似数组的结构可用于复制类似结构的目录?
考虑递归方法。在伪代码中:
Class Item
Boolean isFile
String title
List<Item> items
AddItem(item)
RemoveItem(item)
Iterate()
在此class中,您可以扩展ArrayList<Item>
。在这种情况下,您不需要保留项目列表。您还将有很多方法可以直接使用。
如果您需要帮助输入 Java,请说出来。