Java如何使用默认注册的应用程序打印文件?

下面的示例代码显示了如何使用默认注册的应用程序的打印命令为相应的文件类型打印文件。例如,在Windows上notepad.exe是用于打印.txt文件的默认应用程序。

要使用默认注册的应用程序打印文件,我们调用java.awt.Desktop.print(File)方法。该print()方法采用参数File,这是对要打印文件的引用。在Windows上运行时,下面的代码段将打开notepad.exe并打印data.txt文件。

package org.nhooo.example.awt;

import java.awt.*;
import java.io.File;
import java.io.IOException;

public class RunningDefaultAppPrint {
    public static void main(String[] args) {
        File file = new File("data.txt");
        try {
            Desktop desktop = Desktop.getDesktop();

            // 使用本机桌面打印工具打印文件 
            // 关联的应用程序的打印命令。
            desktop.print(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}