如果我将以下 URL 直接粘贴到 IE 地址栏中,则效果非常好:
它将把一些中文新闻页面翻译成英文。
但是如果我在 Java 程序中调用这个地址,例如:
Process q=Runtime.getRuntime().exec(
"cmd /c start http://translate.google.cn/translate?hl=zh-CN&sl=zh-CN&tl=en&u=http%3A%2F%2Fnews.baidu.com%2Fns%3Fword%3D%25B0%25C2%25B0%25CD%25C2%25ED");
它只会返回到 Google 翻译主页。
想知道哪里出了问题。
如果您能帮助我如何实现这一点(只需在 Java 程序中提供 URL,即可打开 Google 翻译结果页面),那就太好了。
非常感谢。
最佳答案
&
字符是 shell 的特殊字符。尝试引用该参数:
Process q=Runtime.getRuntime().exec(
"cmd /c start \"\" \"http://translate.google.cn/translate?hl=zh-CN&sl=zh-CN&tl=en&u=http%3A%2F%2Fnews.baidu.com%2Fns%3Fword%3D%25B0%25C2%25B0%25CD%25C2%25ED\"");
注意参数前面的空引号;它们是开始
所必需的。
顺便说一句,您可以通过将其复制到命令行并观察结果来轻松尝试您的命令行是否正常工作。在您的情况下,它产生以下内容:
H:>cmd /c start http://translate.google.cn/translate?hl=zh-CN&sl=zh-CN&tl=en&u=http%3A%2F%2Fnews.baidu.com%2Fns%3Fword%3D%25B0%25C2%25B0%25CD%25C2%25ED
'sl' is not recognized as an internal or external command,
operable program or batch file.
'tl' is not recognized as an internal or external command,
operable program or batch file.
'u' is not recognized as an internal or external command,
operable program or batch file.
这提供了关于这里出了什么问题的很好的线索。
但是,如果您使用的是 Java 6,您也可以使用 browse Desktop的方法类(class)。这具有在 Windows 以外的其他系统上工作的好处。
关于java - 一个与谷歌翻译相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465482/