캡션 상태로 여러 개의 null로 끝나는 파일 이름으로 환경 변수를 설정하려고합니다.ProcessBuilder를 통해 환경 변수에 null로 끝나는 문자열 설정
ProcessBuilder pb = new ProcessBuilder(execCmd);
Map<String, String> env = pb.environment();
env.clear();
String storedFiles = "";
Iterator<Attributes> storedSequence = info.getSequence().iterator();
while (storedSequence.hasNext()) {
storedFiles += storedSOPSequence.next().getFilename() + "\0";
}
env.put("StoredFiles", storedFiles);
try {
pb.start();
} catch (Exception e) {
}
하지만 다음 excepion로 실행 :
내 코드는 다음과 같습니다
Exception in thread "pool-1-thread-2" java.lang.IllegalArgumentException:
Invalid environment variable value: "/tmp/tmp.DXrJMdJmbW/53cd50f9"
이를 달성 할 수있는 방법이 있나요?
아마도 null을 추가 할 필요가 없습니다. 실행중인 명령에 도달하면 null로 끝나는 문자열로 변환됩니다. – rghome
예. 달성하고자하는 것은 varibale 값은 다음과 같습니다 : filename1 \ 0filename2 \ 0filename2 \ 0 ... filenameN \ 0 –
O/S가 null로 해석 할 수 있으므로 실제로는 좋은 생각이 아닙니다. 문자열의. 대역 외 분리자를 원하면 다른 제어 문자를 사용하십시오. – rghome