Memadam Fail Secara Program: Mengatasi Ralat "Fail Sedang Digunakan"
Memadamkan fail secara pengaturcaraan kadangkala boleh mengakibatkan ralat "Fail Dalam Penggunaan" yang mengecewakan, walaupun selepas nampaknya mengeluarkan semua rujukan. Panduan ini menyediakan penyelesaian kepada masalah biasa ini.
Kuncinya ialah menghapuskan semua rujukan fail dalam aplikasi anda secara menyeluruh. Contohnya, jika anda bekerja dengan imej yang dimuatkan ke dalam tatasusunan StackPanel
dan Image
, pastikan anda mengalih keluar semua rujukan, termasuk pengikatan dan pengendali acara. Yang penting, tetapkan semua pembolehubah imej secara eksplisit kepada null
.
Walaupun selepas langkah ini, pemungut sampah mungkin tidak segera menuntut semula sumber tersebut. Untuk memaksa kutipan sampah dan melepaskan sebarang kemungkinan kunci fail, gunakan arahan ini:
<code class="language-csharp">System.GC.Collect(); System.GC.WaitForPendingFinalizers();</code>
Ini secara aktif menggesa masa jalan untuk menuntut semula memori dan melepaskan sebarang pemegang fail.
Akhir sekali, cuba pemadaman sekali lagi:
<code class="language-csharp">File.Delete(picturePath);</code>
Pendekatan gabungan ini harus menyelesaikan ralat "Fail dalam Penggunaan" dengan berkesan dan membolehkan pemadaman fail berjaya.
Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Fail Secara Pemrograman Yang Dilaporkan sebagai 'Sedang Digunakan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!