FileNotFoundException ialah salah satu pengecualian biasa di Java. Ini menunjukkan bahawa percubaan telah dibuat untuk membuka fail, tetapi fail itu tidak wujud atau tidak boleh dibaca. Contohnya, jika FileNotFoundException berlaku apabila membaca fail menggunakan kelas FileInputStream, ini bermakna program Java tidak dapat mencari fail atau fail tidak tersedia. Berikut akan memperkenalkan sebab dan penyelesaian pengecualian FileNotFoundException.
Pengecualian FileNotFoundException biasanya disebabkan oleh sebab berikut:
Fail tidak wujud: Program ini cuba membuka fail yang tidak wujud, yang akan menyebabkan pengecualian FileNotFoundException dibuang.
Fail ialah direktori: Cuba untuk membuka direktori dan bukannya fail juga akan menyebabkan pengecualian FileNotFoundException.
Bacaan fail dilarang oleh tetapan kebenaran: Pengecualian ini akan dibuang apabila cuba membaca fail atau fail sistem tertentu tanpa kebenaran baca.
Fail sedang diduduki: Cuba membuka fail yang sedang diduduki oleh proses lain juga akan menyebabkan pengecualian ini dibuang.
Apabila FileNotFoundException berlaku, kita perlu mengambil penyelesaian berikut:
2.1 Semak laluan fail
Punca paling biasa pengecualian ini ialah fail tidak wujud, jadi anda boleh menggunakan wujud( daripada kaedah kelas Fail ) menyemak sama ada fail itu wujud.
Fail fail = new File("filename.txt");
if(file.exists()){
//do something
}lain{
//handle exception
}
2.2 Semak kebenaran akses fail
Jika fail wujud, tetapi kami Jika fail tidak boleh diakses, anda mesti menyemak sama ada kebenaran akses fail adalah betul. Anda boleh menyemak sama ada fail boleh dibaca atau boleh ditulis menggunakan kaedah canRead() dan canWrite() bagi kelas Fail.
Fail fail = new File("filename.txt");
if(file.canRead() && file.canWrite()){
//do something
}lain{
//handle exception
}
2.3 Tutup fail
jika fail sedang diduduki oleh proses lain, anda mesti menunggu sehingga proses mengeluarkan fail sebelum anda boleh membuka fail. Oleh itu, sebelum cuba membuka fail, kita harus terlebih dahulu mengesahkan sama ada proses lain menggunakan fail itu, dan jika ya, tunggu proses itu mengeluarkan fail atau cuba gunakan nama fail yang berbeza.
2.4 Menangkap pengecualian
Akhir sekali, kita boleh menggunakan pernyataan cuba-tangkap untuk menangkap pengecualian FileNotFoundException, serta pengecualian lain, seperti IOException, SecurityException, dsb. Dengan menangkap pengecualian, kami boleh mengendalikan situasi pengecualian dengan lebih baik.
cuba{
FileInputStream fis = new FileInputStream("filename.txt");
}tangkap(FileNotFoundException e){
//handle exception
}tangkap(IOException e){
//handle exception
}tangkap(SecurityException e){
//handle exception
}terdapat beberapa cara untuk menyelesaikan
NoException di atas kaedah Java. Apabila kami melakukan operasi membaca dan menulis fail, kami mesti menyemak laluan fail, kebenaran akses, sama ada fail itu diduduki dan faktor lain untuk memastikan kestabilan dan keteguhan kod.Atas ialah kandungan terperinci Penyelesaian kepada pengecualian FileNotFoundException dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!