Java Runtime.getRuntime.exec()复制文件时出现问题
我想使用以下方法复制文件:Java Runtime.getRuntime.exec()复制文件时出现问题,java,Java,我想使用以下方法复制文件: Process process = Runtime.getRuntime() .exec("cmd.exe /c copy C:\test1\toto.PDF C:\test2\toto.PDF"); 当我手动执行该命令时,它可以工作,但当我试图从IDE执行时,什么也没有发生。 谁能告诉我这个有什么问题吗 谢谢。您需要将反斜杠加倍\t本身转换为制表符 (你在这里很不走运,好像你的路径不一样,你可能得到了一个编译器错误,给了你一个提示。)你需要加倍反斜
Process process = Runtime.getRuntime()
.exec("cmd.exe /c copy C:\test1\toto.PDF C:\test2\toto.PDF");
当我手动执行该命令时,它可以工作,但当我试图从IDE执行时,什么也没有发生。
谁能告诉我这个有什么问题吗
谢谢。您需要将反斜杠加倍<代码>\t本身转换为制表符
(你在这里很不走运,好像你的路径不一样,你可能得到了一个编译器错误,给了你一个提示。)你需要加倍反斜杠<代码>\t本身转换为制表符
(你在这里很不走运,好像你的路径不一样,你可能得到了一个编译器错误,给了你一个提示。)你的直接错误是
\t
是一个制表符。你忘了把反斜杠加倍,所以文件名被弄乱了。但是,正如其他人所建议的,使用来进行复制。您的直接错误是\t
是制表符。你忘了把反斜杠加倍,所以文件名被弄乱了。但是,正如其他人所建议的,使用来复制。这里有一篇关于
copy
是cmd.exe的内置文件还是单独的可执行文件
为了避免对空格/制表符的误解,我会将字符串分成几个部分:
"cmd.exe", "/c", "copy", "C:\test1\toto.PDF", "C:\test2\toto.PDF"
但这一切都非常依赖于平台。您应该使用java读取文件并将其写入目标位置 这里有一篇关于
copy
是cmd.exe的内置文件还是单独的可执行文件
为了避免对空格/制表符的误解,我会将字符串分成几个部分:
"cmd.exe", "/c", "copy", "C:\test1\toto.PDF", "C:\test2\toto.PDF"
但这一切都非常依赖于平台。您应该使用java读取文件并将其写入目标位置 -不需要执行董事不需要执行官,接得好。当我需要混淆某些代码时,我会记住它。:)接得好。当我需要混淆某些代码时,我会记住它。:)