를 작동하지 않는 나는이자바 런타임 간부 인()
if (Program.isPlatformLinux())
{
exec = "/bin/bash -c xdg-open \"" + file.getAbsolutePath() + "\"";
exec2 = "xdg-open \"" + file.getAbsolutePath() + "\"";
System.out.println(exec);
}
else
{
//other code
}
Runtime.getRuntime().exec(exec);
Runtime.getRuntime().exec(exec2);
같은 java
를 통해 쉘 명령을 실행하려고하지만 아무것도 전혀 발생하지 않습니다. 이 코드를 실행하면 /bin/bash -c xdg-open "/home/user/Desktop/file.txt"
이 콘솔에 인쇄되지만 파일은 열리지 않습니다. bash를 먼저 호출 한 다음 xdg-open
- 명령을 호출하려고 시도했지만 변경되지 않았습니다.
무엇이 문제이며 어떻게 해결할 수 있습니까?
편집 :
XDG 오픈 "A- 싶게 B의/홈/사용자/데스크탑/파일/einf/allg FIL/ref.txt" XDG : 호출의 출력은 다음과 같습니다 - 오픈 :
'에서'예상치 못한 인수 그러나 이것은 나에게 매우 이상한 seeems - 왜 in
도 전체 경로 이전 명령 seperatet 따옴표로 설정되어 있습니까?
프로세스 출력을 [이 질문에 표시] (http://stackoverflow.com/questions/3936023/printing-runtime-exec-outputstream-to-console)로 인쇄하여 오류가 있는지 확인하십시오. 어쩌면 좀 더 구체적인 오류가 생길 수 있습니다. – BackSlash
@BackSlash 귀하의 조언에 따라이 결과를 원래 게시물에 추가했습니다. – FlashTek
* "einf in a- und b"* 공백이 포함 된 폴더 이름입니까? –