【问题标题】:How to get directory and its internal directory contents till child level using JFileChooser如何使用 JFileChooser 获取目录及其内部目录内容直到子级
【发布时间】:2014-02-24 23:33:33
【问题描述】:

我正在尝试在 Swing 应用程序中检索目录内容。我了解到 JFileChooser 可用于检索特定目录的内容(例如 /X/),但只能检索到下一级(x/a.txt 或 x/b.txt 而不是 x/y/z.txt)。如果我想获取其他文件夹(y/as/sd/)的更深层中包含的 X、Y 甚至其他内部目录的所有内容怎么办。 我们是否必须运行任何递归循环来获取这些内容,或者我们是否有任何实用程序来执行此操作。 希望我的问题有意义。 需要建议!

【问题讨论】:

  • 是的,在目录中递归获取文件并不难,获取它与JFileChooser无关,但我不确定你的实际问题。请告诉我们更多关于您的最终目标以及您希望如何处理这些数据的信息。
  • 这里是使用java nio API stackoverflow.com/a/13539602/295765的代码

标签: java swing jfilechooser


【解决方案1】:

我们是否必须运行任何递归循环来获取这些内容,..

是的。

..或者我们有什么实用工具可以做到这一点。

您听起来好像递归获取文件很困难!这真的很容易。

  • 创建一个接受目录作为参数的方法。
  • 列出文件。
  • 检查每个文件:
    • 如果它是一个文件(而不是一个目录),也将它添加为一个可扩展的列表(例如ArrayList<File>)。
    • 如果是目录,则使用该目录再次调用该方法。
  • 此过程完成后,可扩展列表应包含所有文件(不是目录)。

【讨论】:

  • 或者您也可以使用 Java 7 的新 nio walk the file tree...但是其中的乐趣在哪里 ;) +1
  • @MadProgrammer 是的。在开发桌面应用程序时,我倾向于落后当前主要版本一个版本。尽管考虑到最近的安全恐慌和自动更新,但我质疑保持这种立场是否明智..
  • 我们仍在积极开发 6 下,没有任何考虑在不久的将来 7,关于我现在唯一能从 7 中得到的东西就是钻石运算符;)
猜你喜欢
  • 2021-08-07
  • 1970-01-01
  • 2020-04-23
  • 2015-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
相关资源
最近更新 更多