Sometimes we have to open a file in java program. java.awt.Desktop
can be used to open a file in java. Desktop implementation is platform dependent, so first, we should check if the operating system supports Desktop or not. This class looks for the associated application registered to the current platform to open a file.
Let’s have a look at the simple java open file program. If we try to open a file that doesn’t exist, it will throw
java.lang.IllegalArgumentException
. Let’s see Desktop class example for java open file. JavaOpenFile.java
package com.journaldev.files;
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
public class JavaOpenFile {
public static void main(String[] args) throws IOException {
//text file, should be opening in default text editor
File file = new File("/Users/pankaj/source.txt");
//first check if Desktop is supported by Platform or not
if(!Desktop.isDesktopSupported()){
System.out.println("Desktop is not supported");
return;
}
Desktop desktop = Desktop.getDesktop();
if(file.exists()) desktop.open(file);
//let's try to open PDF file
file = new File("/Users/pankaj/java.pdf");
if(file.exists()) desktop.open(file);
}
}
When you run the above program, the text file will be opened in the default text editor. Similarly, a PDF file will be opened in adobe acrobat reader. If there are no application associated with given file type or the application is failed to launch, open
method throws java.io.IOException
. That’s all for a simple program to open a file in java.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Java and Python Developer for 20+ years, Open Source Enthusiast, Founder of https://www.askpython.com/, https://www.linuxfordevices.com/, and JournalDev.com (acquired by DigitalOcean). Passionate about writing technical articles and sharing knowledge with others. Love Java, Python, Unix and related technologies. Follow my X @PankajWebDev
Awesome! Easy to read your code and straight to the point without all the extra fluff. Bookmarking your blog. Thanks for the help!
- mike
I am developing web project in java.I have requirement to open a pdf file in jsp.That pdf is available in web directory.Please help me
- Amaranath
Thanks for the code above, it helped me in solving my problem in opening an excel from Java code.
- Shalini J
I am trying to access a file shared in my network. It shows : java.net.URISyntaxException Can someone help me to solve this problem?
- Sidiki Traore
THANKS FOR THE STRAIGHT TO THE POINT AND STATE-OF-THE ART SOLUTIONS TO PROBLEM THUMB UP BRUV!!!
- AYENI FEMI
Always valid the dependencies before continue. Example, Desktop.isDesktopSupported() can fail, therefore instead of open file first unnecessarily, in advance you should valid all crucial conditions to your program.
- dio
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.