当前位置: 首页 > 面试题库 >

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

宇文元明
2023-03-14
问题内容

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

我有一个用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);
}


 类似资料:
  • 我想在用户在EditText中键入文本时将文本放入我的应用程序中的某个字符串中,并使用它来生动地在活动上显示它(在不同的视图中...) - 就像谷歌的实时/即时搜索工作一样...

  • 我试图在EditText中设置文本,但它说: 我的代码如下: 不要说用< code>setText,因为我用的是kotlin,不是Java。

  • Django集成UEditor (封装成应用) 百度富文本编辑器 http://ueditor.baidu.com/website/ 使用效果 测试环境 ubuntu 16.04 python3.5.2 django1.11.7 目前测试解决了出现的以下两个问题,都是python版本问题 error1 # name 'file' is not defined controller.py 68行

  • JOE  ( Joe's Owner Editor) 是一个非常著名的基于 Linux 控制台下的文本编辑器

  • 我正在开发一个Android聊天应用程序。一切运作良好,但除了一件事;我想设置一个布局的可见性消失,然后设置一个不同的布局可见时,用户开始输入编辑文本,就像在WhatsApp上实现的。但是我似乎想不明白。任何帮助都将不胜感激 基本上,我想做的是设置一个布局的可见性,该布局包含一个图像按钮,用于将图像上载到gone,然后显示一个布局,该布局包含一个图像按钮,用于在用户开始键入时将edittext中的

  • 编辑文本 要选择一种文字图层,请执行下列操作之一: 选择“移动”工具 并在画布上双击文字图层。 选择横排文字工具 或竖排文字工具。在“图层”面板中选择文字图层,或者单击文本流以自动选择文字图层。 在文本中定位到插入点,然后执行下列操作之一: 单击以设置插入点。 选择要编辑的一个或多个字符。 根据需要输入文本。 要将更改应用到文字图层,请执行下列操作之一: 选择一个新工具。 在“图层”面板中单击某个