在我们的应用程序中,我们允许用户打开文件和目录.
Java 6为我们提供了......
java.awt.Desktop.getDesktop().open(file);
Run Code Online (Sandbox Code Playgroud)
这很棒.但是,由于我们需要确保Java 5兼容性,我们还实现了一种通过调用start命令来打开文件的方法cmd.exe...
String command = "cmd.exe start ...";
Runtime.getRuntime().exec(command);
Run Code Online (Sandbox Code Playgroud)
这就是问题出现的地方.看起来start命令只能处理8.3文件名,这意味着任何非短(8.3)文件/目录名都会导致start命令失败.
有没有简单的方法来生成这些短名称?或任何其他解决方法?