1. Files
kelas
Untuk bekerja dengan file, ada kelas utilitas yang apik — java.nio.file.Files
. Ini memiliki metode untuk setiap kesempatan. Semua metode kelas ini statis dan beroperasi pada objek Path. Ada banyak metode, jadi kami hanya akan mempertimbangkan yang paling penting:
metode | Keterangan |
---|---|
|
Membuat file baru yang jalurnya adalahpath |
|
Membuat direktori baru |
|
Membuat banyak direktori |
|
Membuat file sementara |
|
Membuat direktori sementara |
|
Menghapus file atau direktori jika kosong |
|
Menyalin file |
|
Memindahkan file |
|
Memeriksa apakah path adalah direktori dan bukan file |
|
Memeriksa apakah path adalah file dan bukan direktori |
|
Memeriksa apakah suatu objek ada di jalur yang diberikan |
|
Mengembalikan ukuran file |
|
Mengembalikan seluruh konten file sebagai larik byte |
|
Mengembalikan seluruh konten file sebagai string |
|
Mengembalikan seluruh konten file sebagai daftar string |
|
Menulis array byte ke file |
|
Menulis string ke file |
|
Mengembalikan koleksi file (dan subdirektori) dari direktori yang diberikan |
2. Membuat file dan direktori
File dan direktori sangat mudah dibuat. Mari yakinkan diri kita dengan beberapa contoh:
Kode | Catatan |
---|---|
|
Membuat file |
|
Membuat direktori |
|
Membuat direktori dan semua subdirektori yang diperlukan jika tidak ada. |
3. Menyalin, memindahkan, dan menghapus
Menyalin, memindahkan, dan menghapus file sama mudahnya. Ini juga berlaku untuk direktori, tetapi harus kosong.
Kode | Catatan |
---|---|
|
Menyalin file |
|
Memindahkan dan mengganti nama file |
|
Menghapus file |
4. Memeriksa jenis dan keberadaan file
Saat Anda memiliki jalur yang disediakan oleh orang lain, Anda ingin tahu apakah itu file atau direktori. Dan secara umum, apakah file/direktori seperti itu ada atau tidak?
Ada metode khusus untuk ini juga. Anda juga dapat dengan mudah mengetahui panjang file:
Kode | Catatan |
---|---|
|
|
|
|
|
|
|
|
5. Bekerja dengan isi file
Terakhir, ada serangkaian metode yang memudahkan untuk membaca atau menulis konten file. Contoh:
Kode | Keterangan |
---|---|
|
Baca isi file sebagai daftar string. Menampilkan string |
6. Mendapatkan isi direktori
Metode yang paling menarik masih ada. Ini digunakan untuk mendapatkan file dan subdirektori dalam direktori tertentu.
Kita berbicara tentang newDirectoryStream()
metode yang mengembalikan DirectoryStream<Path>
objek khusus. Ia memiliki iterator(!) yang dapat Anda gunakan untuk mendapatkan semua file dan subdirektori dari direktori tertentu.
Ini lebih mudah daripada kedengarannya.
Kode | Keterangan |
---|---|
|
Dapatkan objek dengan daftar file Ulangi daftar file |
Objek DirectoryStream<Path>
memiliki dua properti. Pertama, ia memiliki iterator yang mengembalikan path file, dan kita bisa menggunakan objek ini di dalam sebuah for-each
loop.
Dan kedua, objek ini adalah aliran data, jadi harus ditutup secara eksplisit menggunakan close()
metode, atau dideklarasikan menggunakan di dalam try-with-resources
blok.
7. Files.newInputStream
metode
Dimulai dengan Java 5, kelas FileInputStream
dan FileOutputStream
sudah tidak digunakan lagi. Salah satu kelemahannya adalah ketika objek dari kelas ini dibuat, file segera dibuat di disk. Dan semua pengecualian yang terkait dengan pembuatan file berpotensi dibuang.
Belakangan ini diakui sebagai bukan keputusan terbaik. Oleh karena itu, disarankan untuk menggunakan metode kelas utilitas java.nio.Files
untuk membuat objek file.
Berikut perbandingan antara pendekatan lama dan pendekatan baru untuk membuat file:
Sebelum |
---|
|
Setelah |
|
Dan ada pengganti yang serupa untuk FileOutputStream
:
Sebelum |
---|
|
Setelah |
|
GO TO FULL VERSION