Truy cập file resource, file ảnh trong file jar

File jar thường được dùng để triển khai ứng dụng. Trong file jar thường có các class java và các file khác như file ảnh, properties … Để truy cập một file trong file jar chúng ta sử dụng phương thức getResource. Đoạn code sau đây sẽ đọc 2 file ảnh từ trong file jar ra thành đối tượng Icon

// Get current classloader
ClassLoader cl = this.getClass().getClassLoader();
// Create icons
Icon saveIcon = new ImageIcon(cl.getResource("images/save.gif"));
Icon cutIcon = new ImageIcon(cl.getResource("images/cut.gif"));

Đọc 1 file ảnh trong java

Bạn có thể đọc file ảnh gif, jpeg và png sử dụng phương thức tĩnh của đối tượng Toolkit:

Image i = Toolkit.getDefaultToolkit().getImage("car.png");

Mặc dù vậy, phương thức trên sử dụng kỹ thuật lazy load cho nên nội dung của bức ảnh chỉ được bắt đầu đọc khi bạn muốn hiển thị bức ảnh đó. Để đọc nội dung bức ảnh ngay lập tức bạn có thể sử dụng phương thức khởi tạo của đối tương ImageIcon, khi gọi phương thức này bạn sẽ chờ cho đến khi toàn bộ dữ liệu của bức ảnh được nạp vào bộ nhớ:

Image i = new javax.swing.ImageIcon("car.png").getImage();