Java 如何搜索文件并为process builder提供路径
我正在使用process Builder使用java执行外部命令 以下是代码:Java 如何搜索文件并为process builder提供路径,java,Java,我正在使用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位于其他驱动器或位置(不知道确切位置),如何获取路径 我们能否找到路径并
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
位于其他驱动器或位置(不知道确切位置),如何获取路径
我们能否找到路径并运行相同的process Builder
提前感谢。使用class.getResource在当前类路径上查找文件。使用class.getResource在当前类路径上查找文件。您可以使用class
java.io.file
的API:list()
,listFiles()
以及过滤后的变体。这有助于检查文件是否显示在特定位置。这些方法还允许您实现文件搜索机制:您可以递归地遍历文件系统以找到所需的文件
您可以使用以下示例,而不是自己实现:
但要小心:简单的递归搜索可能需要很多时间。您可能有其他方法来定位该文件吗?系统变量或注册表(因为您在windows上)?您可以使用类
java.io.File
:list()
,listFiles()
的API,并且可以使用过滤过的变量。这有助于检查文件是否显示在特定位置。这些方法还允许您实现文件搜索机制:您可以递归地遍历文件系统以找到所需的文件
您可以使用以下示例,而不是自己实现:
但要小心:简单的递归搜索可能需要很多时间。您可能有其他方法来定位该文件吗?系统变量或注册表(因为您在windows上)?我确信存在提供搜索功能的库,但在您的情况下,您可以编写简单的递归过程来查找文件。 下面是一些伪代码:
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
我确信存在提供搜索功能的库,但在您的情况下,您可以编写简单的递归过程来查找文件。 下面是一些伪代码:
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