Cách mở File trong Java: Hướng dẫn chi tiết kèm ví dụ
2 phút đọc14/07/2025
Chris PhamTechnical Writer
Reading Time: 2 minutesĐôi khi chúng ta cần mở file trong Java. Lớp java.awt.Desktop có thể được sử dụng để mở file trong Java. Tuy nhiên, việc triển khai Desktop phụ thuộc vào hệ điều hành, vì vậy trước tiên, chúng ta nên kiểm tra xem hệ điều hành có hỗ trợ Desktop hay không. Lớp này sẽ tìm ứng dụng được liên kết với định dạng file trên hệ điều hành hiện tại để mở file đó.

Mở file trong Java
Hãy cùng xem một chương trình Java đơn giản để mở file. Nếu chúng ta cố gắng mở một file không tồn tại, chương trình sẽ ném ra ngoại lệ java.lang.IllegalArgumentException. Dưới đây là ví dụ về cách sử dụng lớp Desktop để mở file trong Java: 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);
}
}
Khi chúng ta chạy chương trình trên, file văn bản sẽ được mở bằng trình soạn thảo văn bản mặc định. Tương tự, nếu đó là file PDF thì sẽ được mở bằng Adobe Acrobat Reader. Nếu không có ứng dụng nào được liên kết với loại file đó, hoặc nếu ứng dụng không khởi chạy được, phương thức open sẽ ném ra ngoại lệ java.io.IOException. Vậy là chúng ta đã xem xong ví dụ đơn giản về cách mở file trong Java.
Về tác giả

Chris PhamTechnical Writer
I have over 5 years of experience writing technical documentation for tech products, making them accessible and user-friendly. My focus is always on providing clear and precise information.
@#@
Tôi đã có hơn 5 năm kinh nghiệm viết tài liệu kỹ thuật cho các sản phẩm công nghệ, giúp người dùng dễ dàng tiếp cận và sử dụng. Tôi luôn tập trung vào việc cung cấp thông tin chính xác và dễ hiểu.
Cập nhật thông tin mới nhấtNhận các thông tin mới nhất về mối đe dọa, báo cáo an ninh mạng từ CyStack về hòm thư điện tử của bạn
{"success":true,"head":"<title>Cách mở File trong Java: Hướng dẫn chi tiết kèm ví dụ - CyStack Tutorial</title>\n<meta name=\"description\" content=\"Tìm hiểu cách mở file trong Java với hướng dẫn chi tiết và ví dụ dễ hiểu. Học cách đọc file văn bản, xử lý dữ liệu và viết code Java mở file chuẩn.\"/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large\"/>\n<link rel=\"canonical\" href=\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/\" />\n<meta property=\"og:locale\" content=\"en_US\" />\n<meta property=\"og:type\" content=\"article\" />\n<meta property=\"og:title\" content=\"Cách mở File trong Java: Hướng dẫn chi tiết kèm ví dụ - CyStack Tutorial\" />\n<meta property=\"og:description\" content=\"Tìm hiểu cách mở file trong Java với hướng dẫn chi tiết và ví dụ dễ hiểu. Học cách đọc file văn bản, xử lý dữ liệu và viết code Java mở file chuẩn.\" />\n<meta property=\"og:url\" content=\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/\" />\n<meta property=\"og:site_name\" content=\"CyStack Tutorial\" />\n<meta property=\"article:tag\" content=\"vi\" />\n<meta property=\"article:section\" content=\"Java\" />\n<meta property=\"og:updated_time\" content=\"2025-12-10T16:34:25+07:00\" />\n<meta property=\"og:image\" content=\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\" />\n<meta property=\"og:image:secure_url\" content=\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\" />\n<meta property=\"og:image:width\" content=\"1200\" />\n<meta property=\"og:image:height\" content=\"630\" />\n<meta property=\"og:image:alt\" content=\"Cách mở File trong Java\" />\n<meta property=\"og:image:type\" content=\"image/jpeg\" />\n<meta property=\"article:published_time\" content=\"2025-07-14T11:10:32+07:00\" />\n<meta property=\"article:modified_time\" content=\"2025-12-10T16:34:25+07:00\" />\n<meta name=\"twitter:card\" content=\"summary_large_image\" />\n<meta name=\"twitter:title\" content=\"Cách mở File trong Java: Hướng dẫn chi tiết kèm ví dụ - CyStack Tutorial\" />\n<meta name=\"twitter:description\" content=\"Tìm hiểu cách mở file trong Java với hướng dẫn chi tiết và ví dụ dễ hiểu. Học cách đọc file văn bản, xử lý dữ liệu và viết code Java mở file chuẩn.\" />\n<meta name=\"twitter:image\" content=\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\" />\n<meta name=\"twitter:label1\" content=\"Written by\" />\n<meta name=\"twitter:data1\" content=\"Chris Pham\" />\n<meta name=\"twitter:label2\" content=\"Time to read\" />\n<meta name=\"twitter:data2\" content=\"1 minute\" />\n<script type=\"application/ld+json\" class=\"rank-math-schema\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https://blog.cystack.org/tutorial/#person\",\"name\":\"CyStack Tutorial\"},{\"@type\":\"WebSite\",\"@id\":\"https://blog.cystack.org/tutorial/#website\",\"url\":\"https://blog.cystack.org/tutorial\",\"name\":\"CyStack Tutorial\",\"publisher\":{\"@id\":\"https://blog.cystack.org/tutorial/#person\"},\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\",\"url\":\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\",\"width\":\"1200\",\"height\":\"630\",\"caption\":\"C\\u00e1ch m\\u1edf File trong Java\",\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":\"1\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":\"2\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial/category/java/\",\"name\":\"Java\"}},{\"@type\":\"ListItem\",\"position\":\"3\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/\",\"name\":\"C\\u00e1ch m\\u1edf File trong Java: H\\u01b0\\u1edbng d\\u1eabn chi ti\\u1ebft k\\u00e8m v\\u00ed d\\u1ee5\"}}]},{\"@type\":\"WebPage\",\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/#webpage\",\"url\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/\",\"name\":\"C\\u00e1ch m\\u1edf File trong Java: H\\u01b0\\u1edbng d\\u1eabn chi ti\\u1ebft k\\u00e8m v\\u00ed d\\u1ee5 - CyStack Tutorial\",\"datePublished\":\"2025-07-14T11:10:32+07:00\",\"dateModified\":\"2025-12-10T16:34:25+07:00\",\"isPartOf\":{\"@id\":\"https://blog.cystack.org/tutorial/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/#breadcrumb\"}},{\"@type\":\"Person\",\"@id\":\"https://blog.cystack.org/tutorial/author/codeweaver/\",\"name\":\"Chris Pham\",\"url\":\"https://blog.cystack.org/tutorial/author/codeweaver/\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https://secure.gravatar.com/avatar/7a3584c941fa360ac061b2a8f15684ced7b92daa1f09481be135a684d989e9b9?s=96&d=mm&r=g\",\"url\":\"https://secure.gravatar.com/avatar/7a3584c941fa360ac061b2a8f15684ced7b92daa1f09481be135a684d989e9b9?s=96&d=mm&r=g\",\"caption\":\"Chris Pham\",\"inLanguage\":\"en-US\"}},{\"@type\":\"BlogPosting\",\"headline\":\"C\\u00e1ch m\\u1edf File trong Java: H\\u01b0\\u1edbng d\\u1eabn chi ti\\u1ebft k\\u00e8m v\\u00ed d\\u1ee5 - CyStack Tutorial\",\"keywords\":\"m\\u1edf file trong java,m\\u1edf file java,file java,java\",\"datePublished\":\"2025-07-14T11:10:32+07:00\",\"dateModified\":\"2025-12-10T16:34:25+07:00\",\"articleSection\":\"Java, Uncategorized\",\"author\":{\"@id\":\"https://blog.cystack.org/tutorial/author/codeweaver/\",\"name\":\"Chris Pham\"},\"publisher\":{\"@id\":\"https://blog.cystack.org/tutorial/#person\"},\"description\":\"T\\u00ecm hi\\u1ec3u c\\u00e1ch m\\u1edf file trong Java v\\u1edbi h\\u01b0\\u1edbng d\\u1eabn chi ti\\u1ebft v\\u00e0 v\\u00ed d\\u1ee5 d\\u1ec5 hi\\u1ec3u. H\\u1ecdc c\\u00e1ch \\u0111\\u1ecdc file v\\u0103n b\\u1ea3n, x\\u1eed l\\u00fd d\\u1eef li\\u1ec7u v\\u00e0 vi\\u1ebft code Java m\\u1edf file chu\\u1ea9n.\",\"name\":\"C\\u00e1ch m\\u1edf File trong Java: H\\u01b0\\u1edbng d\\u1eabn chi ti\\u1ebft k\\u00e8m v\\u00ed d\\u1ee5 - CyStack Tutorial\",\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/#richSnippet\",\"isPartOf\":{\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/#webpage\"},\"image\":{\"@id\":\"https://s2.cystack.net/tutorial/14110949/cach-mo-file-trong-java.jpg\"},\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https://blog.cystack.org/tutorial/2025/07/14/cach-mo-file-trong-java/#webpage\"}}]}</script>\n"}