Buat Direktori di Java

1. Ikhtisar

Membuat direktori dengan Java sangatlah mudah. Bahasa ini memberi kita dua metode yang memungkinkan kita membuat direktori tunggal atau beberapa direktori bersarang - mkdir () dan mkdirs () .

Dalam tutorial ini, kita akan melihat bagaimana mereka berdua berperilaku.

2. Buat Direktori Tunggal

Mari kita mulai dengan membuat satu direktori.

Untuk tujuan kami, kami akan menggunakan direktori temp pengguna . Kita bisa mencarinya dengan System.getProperty ("java.io.tmpdir") .

Kami akan meneruskan jalur ini ke objek File Java , yang akan mewakili direktori temp kami:

private static final File TEMP_DIRECTORY = new File(System.getProperty("java.io.tmpdir"));

Sekarang mari buat direktori baru di dalamnya. Kami akan mencapai ini dengan memanggil metode File :: mkdir pada objek File baru yang mewakili direktori yang akan dibuat:

File newDirectory = new File(TEMP_DIRECTORY, "new_directory"); assertFalse(newDirectory.exists()); assertTrue(newDirectory.mkdir());

Untuk memastikan direktori kita belum ada, pertama-tama kita menggunakan metode existing () .

Kemudian kita memanggil metode mkdir () yang memberi tahu kita apakah pembuatan direktori berhasil atau tidak. Jika direktori sudah ada, metode ini akan mengembalikan nilai false .

Jika kami melakukan panggilan yang sama lagi:

assertTrue(newDirectory.exists()); assertFalse(newDirectory.mkdir());

Kemudian, seperti yang kami harapkan, metode ini mengembalikan nilai salah pada panggilan kedua.

Dan, metode mkdir () tidak hanya mengembalikan false ketika direktori sudah ada tetapi juga dalam beberapa situasi lain. Misalnya, file bisa ada dengan nama direktori yang ingin kita buat. Atau kami mungkin kekurangan izin untuk membuat direktori ini.

Dengan pemikiran tersebut, kita harus menemukan cara untuk memastikan direktori kita ada pada akhirnya, baik kita membuatnya atau sudah ada. Untuk tujuan itu, kita bisa menggunakan metode isDirectory () :

newDirectory.mkdir() || newDirectory.isDirectory()

Dengan begitu, kami memastikan bahwa direktori yang kami butuhkan ada di sana.

3. Buat Beberapa Direktori Bersarang

Apa yang telah kita lihat sejauh ini berfungsi dengan baik pada satu direktori, tetapi apa yang terjadi jika kita ingin membuat beberapa direktori bersarang?

Dalam contoh berikut, kita akan melihat bahwa File :: mkdir tidak berfungsi untuk itu:

File newDirectory = new File(TEMP_DIRECTORY, "new_directory"); File nestedDirectory = new File(newDirectory, "nested_directory"); assertFalse(newDirectory.exists()); assertFalse(nestedDirectory.exists()); assertFalse(nestedDirectory.mkdir());

Karena new_directory tidak ada, mkdir tidak membuat nested_directory yang mendasarinya .

Namun, kelas File memberi kita metode lain untuk mencapai itu - mkdirs () . Metode ini akan berperilaku seperti mkdir () tetapi juga akan membuat semua direktori induk yang tidak ada juga.

Dalam contoh kita sebelumnya, ini berarti membuat tidak hanya nested_directory , tetapi juga new_directory.

Perhatikan bahwa sampai sekarang kami menggunakan konstruktor File (File, String) , tetapi kami juga dapat menggunakan konstruktor File (String) dan meneruskan jalur lengkap file kami menggunakan File.separator untuk memisahkan berbagai bagian jalur:

File newDirectory = new File(System.getProperty("java.io.tmpdir") + File.separator + "new_directory"); File nestedDirectory = new File(newDirectory, "nested_directory"); assertFalse(newDirectory.exists()); assertFalse(nestedDirectory.exists()); assertTrue(nestedDirectories.mkdirs());

Seperti yang bisa kita lihat, direktori dibuat seperti yang diharapkan. Selain itu, metode ini hanya mengembalikan nilai true ketika setidaknya satu direktori dibuat. Adapun metode mkdir () , itu akan mengembalikan false dalam kasus lain.

Oleh karena itu, ini berarti bahwa metode mkdirs () yang digunakan pada direktori yang induknya ada akan berfungsi sama dengan metode mkdir () .

4. Kesimpulan

Di artikel ini, kami telah melihat dua metode yang memungkinkan kami membuat direktori di Java. Yang pertama, mkdir () , menargetkan pembuatan direktori tunggal, asalkan induknya sudah ada. Yang kedua, mkdirs () , mampu membuat direktori serta induknya yang belum ada.

Kode artikel ini dapat ditemukan di GitHub kami.