【问题标题】:How to manipulate paths in a dynamic way如何以动态方式操作路径
【发布时间】:2013-05-23 09:54:25
【问题描述】:

目前我的应用程序使用此路径拍摄图像:

D:\Workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\webapps\patternImages

所以这个文件夹内可能有 n 个文件夹,可能包含 n 个文件夹,在文件夹内,它可能包含 n 个图像, 我需要获取所有图像名称。

在这种情况下,我们通常会采用两种情况来获取图像路径

  1. 使用静态字符串路径获取图片名称
  2. 使用system.getproperty()

但我需要更动态的方法:

通过这个“patternImages”文件夹可以放在网络上的任何地方,我应该毫无问题地获取所有文件夹名称和图像名称,还应该知道哪个文件夹包含哪个图像?有什么办法吗?

【问题讨论】:

  • 看看这个 - stackoverflow.com/questions/189094/how-to-scan-a-folder-in-java。您可以根据自己的需要进行操作。
  • 网络的任何地方?真的吗?您实际上可以访问文件系统,不是吗?没有通过 HTTP 列出的目录...?
  • 感谢您的回复..但我知道可以通过这种方式扫描文件。例如:现在我已经根据这个路径编写了代码,有一天用户将“patternImages”文件夹更改为 webapps 下的某个位置,例如文件夹 webApps/1/2/patternImages 内。所以现在路径改变了..我写的代码不再有效..对于这个改变我必须再次改变我的代码。如果我解释错了,请纠正我..
  • 这是什么用户界面?命令行还是 GUI?
  • 显示图像的 GUI 应用程序

标签: java


【解决方案1】:

很难说什么最适合您的应用程序,因为我们不知道您在做什么,但由于它是一个 GUI 应用程序,我想为用户提供一个 GUI 来选择文件路径是您的最佳选择。您使用什么类取决于您使用的 GUI 库,但这里有一个针对 JFileChooser 的教程:http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html。你需要的基本代码是这样的:

int returnVal = fc.showOpenDialog(FileChooserDemo.this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
    File file = fc.getSelectedFile();
    //This is where a real application would open the file.
} else {
    // Do nothing or log it
}

其中fcJFileChooser 的一个实例。只需确保将对象配置为选择目录而不是文件。您可能会将其连接到一个按钮。无论您使用什么库,都应该提供某种对话框元素以允许用户选择目录。

如果图形目录选择器不是一个选项,那么我认为您被配置文件所困扰。即使您可以使用目录选择器,您也可能需要考虑使用配置文件来保存用户的最后选择。

【讨论】:

  • 感谢您的所有建议。我使用 bean 类实现了这一点,并且我允许用户可以在属性文件中设置任何路径。最后,我将在属性文件中获取图像路径,并从路径中迭代所有文件。谢谢大家。
  • @Prabhu 您可能需要考虑发布您所做的作为答案。一段时间后,StackOverflow 会让你将自己的答案标记为接受的答案。
猜你喜欢
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
相关资源
最近更新 更多