确定文件是否表示可执行进程

时间:2014-09-02 18:05:31

标签: java file process

如何在Java中启动 Process 的意义上确定路径是否可执行?换句话说:

new java.io.File("ls")     .canExecute();  // false (!)
new java.io.File("/bin/ls").canExecute();  // true

如何解决第一行检测到" ls"可以作为一个过程安全地启动(不必弄清楚它的绝对位置)?

2 个答案:

答案 0 :(得分:2)

如果路径很简单,请尝试在路径中搜索

答案 1 :(得分:1)

不是在PATH中搜索或使用File.canExecute()进行搜索,而是可以启动Process并捕获例外情况(但未经过测试)

Process process = new ProcessBuilder("ls").start();