我正在使用process Builder使用java
执行外部命令这是代码:
command.add(System.getenv("ProgramFiles") +"\\IrfanView\\"+"i_view32.exe ");
command.add("D:\\BMP\\*.bmp /import_pal=D:\\default.pal /convert=D:\\ABC\\*.bmp")
如果i_view32.exe
位于其他某个驱动器或位置(不知道确切位置),我该如何获取路径。
我们可以找到路径并运行相同的流程构建器。
先谢谢..
答案 0 :(得分:0)
使用class.getResource在当前类路径上查找文件。
答案 1 :(得分:0)
您可以使用类java.io.File
的API:list()
,listFiles()
以及已过滤的变体。这有助于您检查文件是否出现在特定位置。这些方法还允许您实现文件搜索机制:您可以递归遍历文件系统以找到所需的文件。
您可以使用此示例:http://download.oracle.com/javase/tutorial/essential/io/find.html
,而不是自己实现此功能但要小心:简单的递归搜索可能需要花费很多时间。你可能有其他方法来找到文件?系统变量或注册表(因为你在Windows上)?
答案 2 :(得分:0)
我确信存在提供搜索功能的库,但在您的情况下,您可以编写简单的递归过程来查找文件。 这是一些伪代码:
look("root")
func look(path)
for every file in path.getFiles
if (file = "i_view32.exe") return 0;
end
for every directory in path.getDirectories
look(directory)
end