使用Desktop打开文件(java.awt)

时间:2014-10-13 07:06:05

标签: java file awt desktop

使用以下代码段打开文件

if (Desktop.isDesktopSupported()) {
 try {
     Desktop desktop = Desktop.getDesktop();
     File myFile = new File(fileName);
     desktop.open(myFile);
     } catch (IOException ex) {}
 }

如果我尝试打开的文件是正常的.txt或.pdf文件类型,我可以打开文件。

但在某些情况下,

enter image description here

如上所示,文件类型文件,在此方案中,文件未打开。

如果我手动打开此文件类型文件,我会打开窗口并使用文本编辑器,我可以打开它。

我应该如何在java中处理这个问题?请帮忙..

2 个答案:

答案 0 :(得分:3)

Windows表示没有扩展名时文件的类型为“file”。这就是为什么没有默认的开启者,这就是为什么Java不能正确打开文件的原因。

您可以重命名文件并为其指定扩展名,也可以使用Java直接执行要打开文件的程序。

答案 1 :(得分:1)

#open方法找到指定的默认应用程序以打开指定文件但在.file类型中没有默认应用程序来打开文件。您只能手动指定在特定的应用程序中打开它。所以如果你设置了应该打开.file的默认应用程序,你必须设置默认应用程序并choose default program打开文件而不是运行程序。