Để tạo thư mục trong Java, bạn có thể sử dụng các cách sau:
1. Sử dụng Java IO package – java.io.File
- Tạo một thư mục đơn.
new File("D:\\ThumucABC").mkdir();
- Tạo một thư mục có tên “ThumucABC” và tất cả các thư mục con của nó “thumuc1”, “thumuc2” cùng lúc.
new File("D:\\ThumucABC\\thumuc1\\thumuc2").mkdirs();
Cả 2 phương thức mkdir()
và mkdirs()
cùng trả về giá trị true nếu tạo thành công, giá trị false nếu có lỗi xảy ra.
2. Từ Java 7, có thể dùng Java NIO package – java.nio.file.Paths
và java.nio.file.Files
Path path = Paths.get("D:\\ThumucABC"); Files.createDirectories(path);
Rất đơn giản phải không
Ví dụ tạo thư mục trong Java sử dụng Java IO
package com.ngockhuong.file; import java.io.File; public class CreateDirectoryExample { public static void main(String[] args) { File file = new File("D:\\ThumucABC"); if (!file.exists()) { if (file.mkdir()) { System.out.println("Thư mục đã được tạo!"); } else { System.out.println("Có lỗi xảy ra!"); } } File files = new File("D:\\ThumucABC\\thumuc1\\thumuc2"); if (!files.exists()) { if (files.mkdirs()) { System.out.println("Tất cả thư mục đã được tạo!"); } else { System.out.println("Có lỗi xảy ra!"); } } } }
Ví dụ tạo thư mục trong Java sử dụng Java NIO
package com.ngockhuong.file; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CreateDirectoryExample { public static void main(String[] args) { Path path = Paths.get("C:\\ThumucABC\\thumuc1\\thumuc2"); // Kiểm tra đường dẫn đã tồn tại hay chưa if (!Files.exists(path)) { try { Files.createDirectories(path); } catch (IOException e) { // có lỗi xảy ra e.printStackTrace(); } } } }
Nếu một thư mục nào đó bị lỗi khi tạo, IOException
sẽ được ném ra
java.nio.file.AccessDeniedException: /directory-name at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) at java.nio.file.Files.createDirectory(Files.java:674) at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781) at java.nio.file.Files.createDirectories(Files.java:767)