How do I print a file using the default registered application?

The example code below show you how to print a file using the default registered application’s print command for the corresponding file type. To do the printing we call the Desktop.print(File file) method.

Running the program on Windows operating system will open for instance a notepad.exe and print the data.txt file.

package org.kodejava.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();

            //
            // Prints a file with the native desktop printing
            // facility, using the associated application's
            // print command.
            //
            desktop.print(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

How do I edit a file using the default registered application?

For editing a file using the default registered or associated application we can do a call to the Desktop.edit(File file) method. On the code below we will edit a PNG file, this call will execute registered program such as the Windows Paint or GIMP on Linux operating system.

package org.kodejava.example.awt;

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

public class RunningDefaultAppEdit {
    public static void main(String[] args) {
        File file = new File("logo.png");
        try {
            //
            // Edit a file using the default program for the
            // file type. In the example we will launch a
            // default registered program to edit a PNG image.
            //
            Desktop desktop = Desktop.getDesktop();
            desktop.edit(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}