如何使用Java在联网计算机上打开目录

时间:2014-06-27 11:17:10

标签: java

我已经尝试过了。

    String userHomePath = "\\mysvr\\project\\my Team\\001 test\\001 test\\003 Report";
    File userHome = new File(userHomePath);
    try {
        Desktop.getDesktop().open(userHome);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

为什么它无法打开? Plz解释我。因为白色空间?如果是的话,我该如何解决呢。感谢

这是例外:

java.io.IOException: Failed to open file:////mysvr/project/my%20Team/001%20test/001%20test/003%20Report/. Error message: The system cannot find the file specified.
    at sun.awt.windows.WDesktopPeer.ShellExecute(Unknown Source)
    at sun.awt.windows.WDesktopPeer.open(Unknown Source)
    at java.awt.Desktop.open(Unknown Source)
    at org.ace.insurance.fire.renewal.Test.main(Test.java:13)

我可以打开“\ mysvr \ project”。

4 个答案:

答案 0 :(得分:1)

使用"//mysvr/project/...""\\\\mysvr\\project\\..."

当然首先在Windows资源管理器中试用它。将Java字符串文字中的任何反斜杠加倍。

答案 1 :(得分:0)

试试这个:

   String userHomePath = "\\\\mysvr\\project\\my Team\\001 test\\001 test\\003 Report";
File userHome = new File(userHomePath);
try {
    Desktop.getDesktop().open(userHome);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

答案 2 :(得分:0)

将引号包含在路径中:

String userHomePath = "\"\\mysvr\\project\\my Team\\001 test\\001 test\\003 Report\"";

答案 3 :(得分:0)

//mysvr/project/...\\\\mysvr\\project\\...添加为@Joop Eggen(以及其他已经提到过),您的代码也适用于我。

如果没有双正斜杠,则不会。因此,请检查资源管理器中文件夹的可用性以及是否可用(或存在等)。

如果两个条件都满足,那么我不知道还有什么建议。

P.S。两种情况抛出的异常都是相同的:java.lang.IllegalArgumentException