任何人都可以进行以下跑步吗?
public class ExecTest {
public static void main(String[] args) {
try {
//Notice the multiple spaces in the argument
String[] cmd = {"explorer.exe", "/select,\"C:\\New Folder\\file.txt\""};
//btw this works
//String cmd = "explorer.exe /select,\"C:\\New Folder\\file.txt\"";
//and surprisingly this doesn't work
//String[] cmd = {"explorer.exe", "/select,\"C:\\New Folder\\file.txt\""};
//Update: and (as crazy as it seems) the following also worked
//String[] cmd = {"explorer.exe", "/select,\"C:\\New", "Folder\\file.txt\""};
Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用Java6。已在Vista x64下测试。顺便说一句,获取执行的字符串(必须使用exec的String版本来获取它)并在Vista的开始菜单的“
搜索” 字段中使用它会按预期运行。
任何帮助将不胜感激。我疯了..!
更新:我为我的帖子指出的第二个奇怪的问题添加了一个解决方案,即exec的两个版本的行为不同。该解决方案基于修剪的答案。再次感谢。
好的,这不仅是更新,而且是答案,所以我将其归档为一个。根据我能找到的所有信息,理论上应该执行以下操作:
String [] cmd = {“ explorer.exe”,“ / select,\” C:\ New“,”“,”,“,”,“,”,“,”,“
Folder \ file.txt \” “};
多个空格已分解为空字符串,并且使用了exec的数组版本。使用上面的数组,我在java.lang.ProcessImpl的第50-75行调试了循环,最后构造了一个字符串。结果字符串为:
explorer.exe /选择,“ C:\ New Folder \ file.txt”
这是作为ProcessImpl native create
方法的第一个参数(与第118行相同的类)传递的,该方法似乎 无法正常运行此命令 。
所以我想一切都到此为止…可悲的是。
Thnx修剪指出了Java错误。感谢每个人的时间和兴趣!
问题内容: 可能是Apache Commons Exec中有一个错误,或者我使用的API错误,但是当我使用该类添加包含空格的参数时,会添加一些引号并将其包含在给出的参数中。 例如:当我打电话给我时,当我打电话给我(它包含转义引号,这是命令行参数本身的一部分)时,我得到了。 因此,以下测试失败了,因为正如您在最后一行中看到的那样,Apache Exec正在生成后一个版本,而在该版本中本应生成第一个版
问题内容: 我知道关于从Java执行流程有很多解决的问题,但是我无法使用提供的答案解决问题。我正在尝试从Java应用程序创建postgresql数据库备份。我使用以下代码 执行以上代码后,出现以下错误: 仅当备份文件的路径包含空格时才出现问题,否则将创建备份。我试图在文件路径中同时使用斜杠和反斜杠,但我引用了文件路径,但每次都遇到相同的错误。可以从命令提示符处执行命令。 我做错了。关于Proces
以下是我在泽西使用的方法签名,当我调试/运行程序时,我收到错误: [[致命]方法公共javax。ws。rs.core。响应com。xxxx。xxxxx。Xxxxx。xxxxx。资源类com上的xxxxxxxx(java.lang.String、java.lang.String、java.lang.String、javax.ws.rs.container.ContainerRequestContex
我用 1 个类的不同数据填充我的表视图没有问题。但是它对多个类的我不起作用。知道如何解决这个问题吗?我已经在stackoverflow上查看了类似的问题。但他们都帮不了我。如果您对“回调”类有任何建议,请为我提供完整的导入,因为那里有几个回调类。 进一步的问题:如何在表格单元格的哈希集中显示实例的某个属性。所以我在我的 TaskControl 类中有一个 HashSet。在该HashSet中,有类
我希望在每个数组中获取多个对象,但我的代码显示了单个对象的操作。下面是我的PHP代码,我如何添加另一个循环来获取多个对象 这是显示单个物体的结果
所以我有一个练习问题,我应该用员工的信息创建一个数组,并将其传递给类;我的代码有一个问题,我似乎想不出来。 代码的目的是:将代码中看到的信息放入数组,然后传递给类中的方法,然后打印给用户。(类中的代码非常好,因此这里没有包括它)。