두 가지 질문이 있습니다. Runtime.getRuntime().exec()
메쏘드가 가지고있는 자원은 어디에서 가져올 수 있습니까?다른 편집기에서 txt 파일을 실행하는 것만으로 프로그램 이름을 작성합니다.
Runtime.getRuntime().exec("notepad.exe")
을 호출하는 경우 왜 Windows 편집기가 시작됩니까? java는 .exe 소스를 어디에서 가져 옵니까?
이 질문에 따라 사용자가 편집기에서 파일을 열려면 편집자가 선호하는 편집기를 사용하고 싶습니다. 그는 notepad.exe
또는 ultraedit.exe
과 같이 글을 쓸 뿐이며 선택한 파일은 여기에 적힌 편집기에서 열립니다. 현재이 메서드로 파일을 여는 중입니다.
public void open(String path) {
try {
if(new File(path).exists())
Runtime.getRuntime().exec("notepad.exe " + path);
} catch (IOException e) {
e.printStackTrace();
}
}
그러면 모든 파일이 메모장에서 열리는 것을 볼 수 있습니다. 하지만 난 이런 식으로 뭔가를해야합니다
public void open(String program, String path) {
try {
if(new File(path).exists())
Runtime.getRuntime().exec(program + " " + path);
} catch (IOException e) {
e.printStackTrace();
}
}
그래서 그들의 .exe 파일을 호출하여, 다른 편집기에서 TXT 파일을 열 수있는 가능성이?
'if (new File (path) .exists()) Runtime.getRuntime(). exec ("notepad.exe"+ path);'경로에 공백이 있으면 실패합니다. 하지만 전반적으로 매우 취약한 코드입니다. ['exec' 정보에서 링크 된 Java World 기사를 꼭 방문하십시오. page] (http://stackoverflow.com/tags/runtime.exec/info)를 방문하여 향후 통증을 줄이기 위해 권장 사항을 구현하십시오. –