通过Java在默认的文本编辑器中打开文本文件?

好。简单的问题。也许不是那么简单的答案:

我有一个用Java下载的文件,我知道这是一个文本文件。无论默认文本编辑器是什么,有什么方法可以使用Java打开该文本文件?它必须适用于所有操作系统,否则我只能使用记事本打开它。

:\我猜想如果没有办法,我可以使用JOptionPane并显示文本文件的内容…

回答:

您可以执行以下操作:

java.awt.Desktop.getDesktop().edit(file);

这链接到java.awt.Desktop上的教程文章:

Java™Standard

Edition版本6缩小了本机应用程序和Java应用程序的性能以及集成之间的差距。除了新的系统托盘功能,初始屏幕支持和JTables的增强打印功能之外,Java

SE版本6还提供了Desktop

API(java.awt.Desktop)API,该API允许Java应用程序与与特定文件类型关联的默认应用程序进行交互。主机平台。

它是跨平台的,但可能并非在所有地方都受支持。您可以调用一种方法来检查Desktop

API是否可用,该方法称为isDesktopSupported(请参阅链接以获取更多说明)。前几天,我正在使用此API在Swing客户端中打开PDF。

不幸的是,有一个已知的错误会影响某些Windows平台(XP和2003),从而使JVM崩溃。像往常一样

编写一次,在任何地方调试

。无论如何,对于Windows,有一个不错的解决方法仍然使用了用户的首选应用程序:

if (System.getProperty("os.name").toLowerCase().contains("windows")) {

String cmd = "rundll32 url.dll,FileProtocolHandler " + file.getCanonicalPath();

Runtime.getRuntime().exec(cmd);

}

else {

Desktop.getDesktop().edit(file);

}

以上是 通过Java在默认的文本编辑器中打开文本文件? 的全部内容, 来源链接: utcz.com/qa/418008.html

回到顶部