jav*_*arz 25
简答:
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().open(new File("C:\\"));
}
Run Code Online (Sandbox Code Playgroud)
长答案: 虽然阅读它是什么操作系统然后运行特定于操作系统的命令会起作用,但它在某种程度上需要对需要完成的事情进行硬编码.
让Java处理每个操作系统应该如何打开目录.不应该是我们头疼的事.<3抽象.
阅读#open(File)方法文档可以看出它将打开支持该操作的所有操作系统上的链接.如果当前平台不支持打开文件夹或文件(比如说无头环境?当然,我猜测为什么它不会打开是猜测),它会抛出一个UnsupportedOperationException
.如果用户无权读取该文件夹(Windows Vista/7/8,基于Unix的机器),您将获得一个SecurityException
.所以,如果你问我,它处理得相当好.
更新:在获取Desktop
对象之前添加了if检查,以便您的代码从#getDesktop()Java文档中提到的讨厌HeadlessException
和UnsupportedOperationException
异常中保存.
用于Runtime.getRuntime().exec("command here");
在运行java的系统中执行命令.
对于explorer.exe,您只需将文件夹的绝对路径作为参数传递,例如
Explorer.exe "C:\Program Files\Adobe"
Run Code Online (Sandbox Code Playgroud)
在Mac OS X中,您可以使用以下open
命令:
open /users/
Run Code Online (Sandbox Code Playgroud)
你可以找到如何检测你是哪个操作系统,因此要运行的代码,在这里.例如,如果您在Windows上,这将会很糟糕:
public static boolean isWindows() {
String os = System.getProperty("os.name").toLowerCase();
// windows
return (os.indexOf("win") >= 0);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5269 次 |
最近记录: |