파일을 복사하려고합니다. 여기에 소스가 있습니다. 참고 : des
은 URL을 포함하는 문자열 변수입니다.getRuntime(). exec()를 사용하는 파일 복사
Process process = Runtime.getRuntime().
exec("cmd.exe\t/c\tcopy\t"+source+"\t"+des);
아무도 왜 작동하지 않는지 말할 수 있습니까?
파일을 복사하려고합니다. 여기에 소스가 있습니다. 참고 : des
은 URL을 포함하는 문자열 변수입니다.getRuntime(). exec()를 사용하는 파일 복사
Process process = Runtime.getRuntime().
exec("cmd.exe\t/c\tcopy\t"+source+"\t"+des);
아무도 왜 작동하지 않는지 말할 수 있습니까?
Runtime.exec
나는이 문자열을 명령 처리기 cmd.exe
에 보냅니다. 그래서 이것은 cmd.exe
을 실행하고 그 안에 또 다른 cmd.exe
을 실행하고 인수를 전달합니다. 나는 그것을 테스트 할 윈도우 머신을 가지고 있지 않다. (신에게 감사한다.)하지만 나는 인수를 명령 행으로 실행하기 위해서 cmd.exe
에 인수가 있다고 생각한다.
FileUtils.copyFile()
을 사용하지 않는 이유는 무엇입니까?
나는 FileUtils.copyFile()을 사용해야한다고 생각하지만 어쨌든 이것을 시도하십시오. 대신 single string
가 array
을 구성하고보다 것은 exec
에 전달로 명령을 전달
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);
.
나는이String command = "cmd /c copy test.java D:";
나를 위해 잘 작동했습니다.
조언 :
ProcessBuilder
Process
를 구축하기.+1 좋은 기사갑니다. – RanRag
@RanRag 필자는'Process' 클래스를 사용하지 않고 (순수 Java (1)을 유지하는 것을 선호합니다),' 프로세스 '는 일반적으로 기사에서 설명한 이유로 실패합니다. 제대로 사용하는 것은 까다로운 수업입니다. 1) 그것은 나를 떠올리게한다. 당신의 대답을 높이 평가하는 것을 잊었다. :) –
오류 스트림을 읽습니다. 대답을 담을거야. – BalusC
그냥'exec ("복사 원본"+ 원본 + "대상"+ des);'? –
Apache Commons의 파일 복사 http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html –