Java 使用正确的转义路径执行命令

Java 使用正确的转义路径执行命令,java,launching-application,Java,Launching Application,见问题。我需要运行命令 explorer.exe /select,"C:\Program Files\foobar" 来自Java。以下Java代码与上面的命令行调用不同(资源管理器选择完全不同的目录): 纯Java端还有哪些其他选项(没有本机代码)?试试ProcessBuilder。该API允许您传入参数而无需引用。 请参见)您可以将/select放置在单独的字符串中标记,以停止将其视为路径的一部分: Runtime.getRuntime().exec(new String[] {

见问题。我需要运行命令

explorer.exe /select,"C:\Program Files\foobar"
来自Java。以下Java代码与上面的命令行调用不同(资源管理器选择完全不同的目录):


纯Java端还有哪些其他选项(没有本机代码)?

试试ProcessBuilder。该API允许您传入参数而无需引用。
请参见)

您可以将
/select
放置在单独的
字符串中
标记,以停止将其视为路径的一部分:

Runtime.getRuntime().exec(new String[] {
        "explorer.exe",
        "/select,", 
        "\"C:\\Program Files\\foobar\""
        });

exec(String[])
也不需要引用。事实上,无论是
System
还是
ProcessBuilder
exec
方法都不理解报价。谢谢!它甚至可以在没有第三个参数中引用的情况下工作。
Runtime.getRuntime().exec(new String[] {
        "explorer.exe",
        "/select,", 
        "\"C:\\Program Files\\foobar\""
        });