当文件名包含Window 8.1上的特殊字符时,无法使用Runtime.getRuntime()。exec打开文件

时间:2014-12-18 06:23:51

标签: java windows-8.1 runtime.exec rundll32

我尝试使用以下代码在Window 8.1上打开特定文件

public static void main(String[] args) throws Exception
{
    if (args.length > 0)
    {
         File file = new File(args[0]);
         if (file.exists())
         {
             try
             {
                 Runtime.getRuntime().exec(new String[]{"rundll32", "url.dll,FileProtocolHandler", file.getAbsolutePath()});
             }
             catch(Exception e)
             {
                 e.printStackTrace();
             }
         }
         else
         {
             System.out.println("File does not exist");
         }
    }
}

如果文件名中有特殊字符,则无法打开文件。

例如:args[0] = 新正如意 新年发财.txt

如何解决此问题?

提前致谢

0 个答案:

没有答案