我已经尝试过了。
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”。
答案 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