我正在尝试复制文件。这是来源。注意,des
是包含URL的字符串变量。
Process process = Runtime.getRuntime().
exec("cmd.exe\t/c\tcopy\t"+source+"\t"+des);
有谁能告诉我它为什么不起作用?
答案 0 :(得分:4)
我认为你应该使用FileUtils.copyFile(),但无论如何都要尝试这个。
String[] command = new String[5];
command[0] = "cmd";
command[1] = "/c";
command[2] = "copy";
command[3] = "test.java";
command[4] = "D:";
Process p = Runtime.getRuntime().exec (command);
而不是将您的命令作为single string
构造array
,而不是将其传递给exec
。
我试过这个
String command = "cmd /c copy test.java D:";
对我来说很好。
答案 1 :(得分:2)
建议:
ProcessBuilder
构建Process
。答案 2 :(得分:1)
Runtime.exec
会将字符串发送到命令处理器cmd.exe
。所以这正在运行cmd.exe
,在其中运行另一个cmd.exe
,并传递您的参数。我没有Windows机器来测试它(感谢上帝),但我认为有cmd.exe
的参数告诉它将参数作为命令行运行。
答案 3 :(得分:1)
为什么不使用FileUtils.copyFile()
?