java - 从 Java 程序中打开任何文件

标签 java file jfilechooser

在 Java 中打开文件似乎有点棘手——对于 .txt 文件,必须将 File 对象与 Scanner 或 BufferedReader 对象结合使用——对于图像 IO,必须使用 ImageIcon 类——如果要从字面上从 java 打开一个 .txt 文档(类似于双击应用程序),这段代码似乎有效:

import java.io.*;

public class LiterallyOpenFile {
    public static void main(String[] args) throws IOException {
        Runtime rt = Runtime.getRuntime();
        Process p = rt.exec("notepad Text.txt");
    }
}

我不是肯定的,但我认为其他文件类型/名称可以在 exec 之后的括号中替换——无论如何,我计划在用户单击要打开的文件时在 JFileChooser 中打开某些文件(当用户点击一个文件,可以使用 getSelectedFile() 方法获取该文件的路径)。尽管我更具体地希望能够从 java 程序在 Arduino IDE 中打开 Arduino 文件,例如模拟双击……也许是这样的?

import java.io.*;

public class LiterallyOpenFile {
    public static void main(String[] args) throws IOException {
        Runtime rt = Runtime.getRuntime();
        Process p = rt.exec("Arduino C:\\Arduino\\fibonacci_light\\fibonacci_light.ino");
    }
}

在正确方向上的观点将不胜感激。

最佳答案

你试过吗?如果在 Windows 中有针对您的文件的注册程序,这应该可以工作。 (即默认应用程序应打开文件)

Desktop desktop = Desktop.getDesktop();
desktop.open(file);

文件参数是一个File对象。

Link to API

Link to use cases and implementation example of the Desktop class

关于java - 从 Java 程序中打开任何文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27476838/

相关文章:

java - 单场淘汰赛算法

python - 从 Google Drive 获取文件而不将其下载到存储 - Python

android - 为什么 'data'文件夹不能像DDMS文件浏览器一样显示?

java - 使用 JFileChooser 选择 txt 文件并使其出现在 JTextField 上是行不通的

java - 如何在其他窗口之上生成一个独立的 JFileChooser 对话框?

java - JFileChooser - 多个文件过滤器?

java - 如何获取数组中不为空的元素

java - 如何使用 getAllSelectedOptions 从多个下拉列表中获取选定的选项

java - 访问数据时对负索引求模会出错

windows - 使用POSIX API设置Windows创建日期