Đô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.