1. Files
kelas
Untuk bekerja dengan fail, terdapat kelas utiliti yang licin — java.nio.file.Files
. Ia mempunyai kaedah untuk setiap kesempatan. Semua kaedah kelas ini adalah statik dan beroperasi pada objek Path. Terdapat banyak kaedah, jadi kami akan mempertimbangkan hanya yang paling penting:
Kaedah | Penerangan |
---|---|
|
Mencipta fail baharu yang laluannyapath |
|
Mencipta direktori baharu |
|
Mencipta berbilang direktori |
|
Mencipta fail sementara |
|
Mencipta direktori sementara |
|
Memadam fail atau direktori jika ia kosong |
|
Menyalin fail |
|
Memindahkan fail |
|
Menyemak sama ada laluan itu ialah direktori dan bukan fail |
|
Menyemak sama ada laluan itu ialah fail dan bukan direktori |
|
Menyemak sama ada objek wujud pada laluan yang diberikan |
|
Mengembalikan saiz fail |
|
Mengembalikan keseluruhan kandungan fail sebagai tatasusunan bait |
|
Mengembalikan keseluruhan kandungan fail sebagai rentetan |
|
Mengembalikan keseluruhan kandungan fail sebagai senarai rentetan |
|
Menulis tatasusunan bait pada fail |
|
Menulis rentetan pada fail |
|
Mengembalikan koleksi fail (dan subdirektori) daripada direktori yang diberikan |
2. Mencipta fail dan direktori
Fail dan direktori sangat mudah dibuat. Mari yakinkan diri kita dengan beberapa contoh:
Kod | Catatan |
---|---|
|
Mencipta fail |
|
Mencipta direktori |
|
Mencipta direktori dan semua subdirektori yang diperlukan jika ia tidak wujud. |
3. Menyalin, memindahkan dan memadam
Menyalin, mengalih dan memadam fail adalah sama mudah. Ini juga terpakai kepada direktori, tetapi ia mesti kosong.
Kod | Catatan |
---|---|
|
Menyalin fail |
|
Memindahkan dan menamakan semula fail |
|
Memadamkan fail |
4. Menyemak jenis dan kewujudan fail
Apabila anda mempunyai laluan yang disediakan oleh orang lain, anda ingin tahu sama ada ia adalah fail atau direktori. Dan secara umum, adakah fail/direktori tersebut wujud atau tidak?
Terdapat kaedah khas untuk ini juga. Anda juga boleh mengetahui panjang fail dengan mudah:
Kod | Catatan |
---|---|
|
|
|
|
|
|
|
|
5. Bekerja dengan kandungan fail
Akhir sekali, terdapat satu siri kaedah yang memudahkan untuk membaca atau menulis kandungan fail. Contoh:
Kod | Penerangan |
---|---|
|
Baca kandungan fail sebagai senarai rentetan. Paparkan rentetan |
6. Mendapatkan kandungan direktori
Kaedah yang paling menarik masih kekal. Ia digunakan untuk mendapatkan fail dan subdirektori dalam direktori tertentu.
Kami bercakap tentang newDirectoryStream()
kaedah, yang mengembalikan objek khas DirectoryStream<Path>
. Ia mempunyai iterator(!) yang boleh anda gunakan untuk mendapatkan semua fail dan subdirektori bagi direktori tertentu.
Ini lebih mudah daripada kedengaran.
Kod | Penerangan |
---|---|
|
Dapatkan objek dengan senarai fail Gelung pada senarai fail |
Objek DirectoryStream<Path>
mempunyai dua sifat. Pertama, ia mempunyai iterator yang mengembalikan laluan fail, dan kita boleh menggunakan objek ini di dalam for-each
gelung.
Dan kedua, objek ini ialah aliran data, jadi ia mesti ditutup secara eksplisit menggunakan close()
kaedah, atau diisytiharkan penggunaan di dalam try-with-resources
blok.
7. Files.newInputStream
kaedah
Bermula dengan Java 5, kelas FileInputStream
dan FileOutputStream
telah ditamatkan. Salah satu kelemahan mereka ialah apabila objek kelas ini dicipta, fail akan segera dibuat pada cakera. Dan semua pengecualian yang berkaitan dengan penciptaan fail berpotensi dibuang.
Kemudian ini diiktiraf sebagai bukan keputusan terbaik. Oleh itu, adalah disyorkan untuk menggunakan kaedah java.nio.Files
kelas utiliti untuk mencipta objek fail.
Berikut ialah perbandingan antara pendekatan lama dan pendekatan baharu untuk mencipta fail:
Sebelum ini |
---|
|
Selepas |
|
Dan terdapat pengganti yang serupa untuk FileOutputStream
:
Sebelum ini |
---|
|
Selepas |
|
GO TO FULL VERSION