在Java中执行URI命令

Dod*_*ddy 4 java uri

Steam允许用户启动游戏并执行许多其他操作的一种方法是使用URI协议(例如来自Valve开发人员社区):

steam://run/<id> 将启动与指定ID对应的游戏.

steam://validate/<id> 将验证指定ID的游戏文件.

如何让Java"运行"这些?我甚至不知道你叫什么,即你'运行'URI,或'执行'它们,或者什么?因为可能这些URI没有任何东西可以返回,并且URIJava中的类没有任何与"执行"它们相关的东西URL,但是它确实没有,但它不起作用!

我试过这个:

...
try
{
    URI testURI = URI.create("steam://run/240");
    URL testURL = joinURI.toURL();
    // URL testURL = new URL("steam://run/240") doesn't work either
    joinURL.openConnection(); // Doesn't work
    // joinURL.openStream() doesn't work either
}
catch (MalformedURLException e)
{
    System.err.println(e.getMessage());
}
...
Run Code Online (Sandbox Code Playgroud)

每个组合都会出错:unknown protocol: steam.

Steam用来处理URI的系统肯定是有效的,因为例如,我可以在Firefox中输入上面的URI并且它可以工作.

我永远感谢提供答案的人!

谢谢

Phi*_*art 7

试试Desktop.browse(URI),这应该启动"默认操作",这是一个steam://URI 的Steam客户端,例如

URI uri = new URI("steam://store/240");
if (Desktop.isDesktopSupported()) {
    Desktop.getDesktop().browse(uri);
}
Run Code Online (Sandbox Code Playgroud)