Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh menyenaraikan fail secara rekursif sambil mengabaikan pengecualian akses di C#?

Bagaimanakah saya boleh menyenaraikan fail secara rekursif sambil mengabaikan pengecualian akses di C#?

Mary-Kate Olsen
Lepaskan: 2025-01-27 23:21:10
asal
119 orang telah melayarinya

How Can I Recursively List Files While Ignoring Access Exceptions in C#?

Mengendalikan pengecualian akses fail dalam Directory.GetFiles()

Apabila menggunakan kaedah Directory.GetFiles(), anda mungkin menghadapi situasi di mana folder atau fail tertentu dalam laluan direktori yang ditentukan tidak boleh diakses, menyebabkan pengecualian dan mengganggu proses penyenaraian fail. Untuk mengatasi had ini dan terus menyenaraikan fail yang boleh diakses sambil mengabaikan item yang dilindungi atau tidak boleh diakses, pendekatan rekursif manual disyorkan.

Kaedah

Directory.GetFiles() asli menyokong rekursi menggunakan parameter AllDirectories. Walau bagaimanapun, kaedah ini mungkin tidak boleh dipercayai jika akses kepada subdirektori tertentu dinafikan, menyebabkan proses ditamatkan secara tiba-tiba. Untuk menyelesaikan masalah ini, pendekatan rekursif tersuai diperlukan.

Coretan kod yang disediakan menunjukkan cara mengendalikan pengecualian akses dengan anggun sambil menyenaraikan fail secara rekursif dalam direktori tertentu. Ia memperkenalkan kaedah baharu ApplyAllFiles() yang melakukan carian rekursif tersuai.

Dalam ApplyAllFiles(), kod itu berulang pada setiap fail dalam direktori semasa dan memanggil perwakilan fileAction yang disediakan untuk memproses fail. Ia kemudian menyenaraikan subdirektori dalam direktori semasa dan cuba menggunakan kaedah ApplyAllFiles() yang sama untuk setiap subdirektori.

Jika sebarang pengecualian ditemui semasa cuba mengakses subdirektori, kod tersebut akan menelan pengecualian secara senyap, memastikan proses itu terus menyenaraikan fail yang boleh diakses tanpa gangguan.

Dengan menggunakan pendekatan ini, pembangun boleh menyenaraikan fail dalam direktori dengan cekap sambil mengabaikan folder atau fail yang tidak boleh diakses. Ia membolehkan manipulasi senarai fail yang lebih berkuasa, terutamanya apabila subdirektori yang berbeza mempunyai hak akses yang berbeza.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyenaraikan fail secara rekursif sambil mengabaikan pengecualian akses di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan