gpt4 book ai didi

java - 无法使用 Java Desktop 在网络上启动文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:19 28 4
gpt4 key购买 nike

(我在 this 问题中说明了一个问题,但没有正确答案。我改进了我的问题并尝试编辑最初的问题以反射(reflect)这一点,但我猜由于 SO 显示未回答问题的方式,它失去了动力并且没有办法恢复它。所以我再次发布我的正确问题)。


我有一个位于共享网络位置的文件:

"\\KUROSAVVAS-PC\Users\kuroSAVVAS\Desktop\New     Folder\Warsaw    Panorama.JPG"

(空格是故意的)

以下代码:

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;

public class Test {

public static void main(String[] args) {
try {
String s = "\\\\KUROSAVVAS-PC\\Users\\kuroSAVVAS\\Desktop\\New Folder\\Warsaw Panorama.jpg";
File f = new File(s);
System.out.println(f.exists());
Desktop.getDesktop().open(f);
} catch (IOException e) {
e.printStackTrace();
}
}

}

向控制台打印文件存在 (System.out.println(f.exists());) 但抛出此异常! :

java.io.IOException: Failed to open file:////KUROSAVVAS-PC/Users/kuroSAVVAS/Desktop/New%20%20%20%20%20Folder/Warsaw%20%20%20%20Panorama.jpg. Error message: The system cannot find the file specified.

at sun.awt.windows.WDesktopPeer.ShellExecute(WDesktopPeer.java:59)
at sun.awt.windows.WDesktopPeer.open(WDesktopPeer.java:36)
at java.awt.Desktop.open(Desktop.java:254)
at Test.main(Test.java:13)

有谁知道为什么会发生这样的事情?我已经尝试了从创建 URI 到随后对其进行解码的所有方法……没有任何效果。

最佳答案

使用 java 7 你可以做到这一点

public static void main(String[] args) throws IOException {
String s = "\\\\KUROSAVVAS-PC\\Users\\kuroSAVVAS\\Desktop\\New Folder\\Warsaw Panorama.jpg";
Path p = Paths.get(s);
Desktop.getDesktop().browse(p.toUri());
}

关于java - 无法使用 Java Desktop 在网络上启动文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1363003/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com