所以我现在正在尝试添加Security Certificate我对Java的支持Keystore.我可以cmd使用存储在String中的值轻松地完成此操作temp,但我希望能够在我的java代码中执行此操作.我正在使用以下代码来执行此操作,但是我收到以下错误The filename, directory name, or volume label syntax is incorrect.
String java_Home = System.getProperty("java.home");
java_Home = java_Home + "\\lib\\security";
java_Home = java_Home.trim();
String temp = "..\\..\\bin\\keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias RandomKeyName -file C:\\Users\\Chris\\Desktop\\RandomKey.crt";
temp = temp.trim();
String[] commands = {"cmd.exe", "/c", "cd " + java_Home, temp};
ProcessBuilder builder = new ProcessBuilder(commands);
builder.redirectErrorStream(true);
Process p = builder.start();
builder.command();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)
我查找了这个错误并在错误https://technet.microsoft.com/en-us/library/cc956689.aspx.上找到了以下页面,但我仍然无法解决问题.我知道它有点小,但我看不到它.有谁知道如何解决这一问题?
keytool作为命令,然后单独使用该程序的参数ProcessBuilder的类文档有一个很好的例子
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |