【发布时间】:2013-04-04 06:10:49
【问题描述】:
我在 Java RCP 应用程序中工作。我正在执行以下代码行:
File file = new File(location);
String filePath = file.toURI().toString();
Desktop desktop = Desktop.getDesktop();
desktop.browse((new URL(filePath)).toURI());
其中位置是一个字符串。
当location的值为:http://www.google.com时,
file.toURI()
将“file:/C:/eclipse%203.7.2/eclipse/”附加到该值,因此它变为 文件:/C:/eclipse%203.7.2/eclipse/http:/www.google.com
但是当值为:C:\Program Files,
file.toURI()
没有附加任何东西并正确返回相同的值。
是否存在与以 http:// 或其他内容开头的路径相关的限制。 有人对此有任何想法吗?
【问题讨论】:
-
Google.com 不是您的桌面,这就是它附加 Eclipse 位置的原因,但是 c:\Program Files 是您系统的一部分,我认为但不确定..不要忘记您正在使用桌面
-
你为什么要用字符串“http://www.google.com”创建
File?那是行不通的。您正在使用“http://www.google.com”,就好像它是一个文件名一样。 -
google.com 就是一个例子。我正在尝试使用存储库路径。路径名以 http:// 开头。任何以 http://, file:/C:/eclipse%203.7.2/eclipse/ 开头的路径都将附加到值中。
-
http不是“文件”。直接使用URI类即可。 -
我尝试删除文件对象并将字符串直接传递给 URI 构造函数。对我来说效果很好。感谢您的建议。
标签: java eclipse eclipse-rcp rcp