是否可以在本地使用Java应用程序从另一台计算机复制文件夹?

时间:2014-05-16 16:03:33

标签: java cmd

在我将文件从计算机复制到另一台计算机之前,这不是问题。 但是当我尝试做相反的事情时,我做不到。我正在尝试从另一台计算机上复制文件,但我正在运行该程序。 我正在使用java,Windows XP,并且我有权使用该文件夹。

这是我的代码:

String rutaO = "pc1234/folder/"; //The folder that i want to copy
String rutaD = "D:/reportes"; // Where I want to put the other folder
Runtime.getRuntime().exec("cmd /c copy \"" + rutaO + "\"  \\\\" + "" + rutaD + "");

感谢您的帮助。


这就是我的代码:

String rutaC = "pcvw234103R\\Retrabajos_KS1_2014";

String rutaO = "D:\\Retrabajos_KS1_2014\\generales\\" + nombreC + ".pdf";
Runtime.getRuntime().exec("cmd /c copy \"" + rutaO + "\" \\\\" + "" + rutaC + "");

最后,这是我传递给cmd的内容:

cmd /c copy "D:\Retrabajos_KS1_2014\generales\Turbina ruidosa(material suelto),NUEVO FORMATO.pdf" \\pcvw234103R\Retrabajos_KS1_2014

这就是我将文件从我的电脑复制到另一台的方式,但我需要做相反的事情) :(

2 个答案:

答案 0 :(得分:0)

你的基本问题是你需要将comnand及其参数分解为单独的字符串,如下所示:

Runtime.getRuntime().exec("cmd", "/c", "copy", "\"" + rutaO + "\"", "\\\\" + rutaD);

传递exec()的第一个参数是可执行命令,以下参数是该命令的参数。

答案 1 :(得分:0)

如果您使用的是Java 7+,则可以使用Files.copy方法:

Path source = new File("\\\\pcvw234103R\\Retrabajos_KS1_2014").toPath();
Path target = new File("D:\\Retrabajos_KS1_2014\\generales\\" + nombreC + ".pdf").toPath();
Files.copy(source, target);