Rumah> Java> javaTutorial> teks badan

Apakah punca biasa FileNotFoundException di Java?

WBOY
Lepaskan: 2023-06-25 09:37:36
asal
6160 orang telah melayarinya

Apakah punca biasa FileNotFoundException di Java?

Dalam proses pembangunan Java, pengecualian tidak dapat dielakkan. Antaranya, FileNotFoundException adalah pengecualian yang sangat biasa, yang mungkin menyebabkan masalah yang tidak perlu dan pembaziran masa kepada pembangun. Artikel ini akan meneroka punca biasa pengecualian FileNotFoundException dan cara mengelakkan dan menyelesaikannya.

1. Apakah itu FileNotFoundException?

FileNotFoundException ialah pengecualian I/O dalam Java Ia menunjukkan pengecualian yang dilemparkan apabila anda membuka fail yang tidak wujud. Operasi biasa mungkin dipengaruhi oleh pengecualian ini, seperti membaca, menulis, menyalin dan menamakan semula.

2. Punca biasa FileNotFoundException

1. Nama fail atau ralat laluan

Salah satu punca paling biasa bagi FileNotFoundException ialah ralat dalam nama fail atau laluan. Ini mungkin disebabkan oleh pembangun membuat kesilapan menggunakan laluan fail, atau nama fail tidak betul, dsb.

Contohnya:

Fail fail = new File("D:/file.txt"); //File path
cuba {

FileInputStream fileInputStream = new FileInputStream(file);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} catch (FileNotFoundException e) {

e.printStackTrace();
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Jalankan kod di atas , jika Jika laluan fail atau nama fail tidak betul, FileNotFoundException akan dibuang.

2. Kebenaran yang tidak mencukupi

Satu lagi punca FileNotFoundException ialah isu kebenaran. Pengecualian ini dibuang jika program tidak mempunyai kebenaran yang mencukupi untuk mengakses fail. Ini biasanya berlaku apabila fail disimpan dalam direktori yang dilindungi atau baca sahaja.

Contohnya:

Fail fail = new File("C:/System Volume Information/file.txt"); //fail sistem Windows
cuba {

FileInputStream fileInputStream = new FileInputStream(file);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} tangkap (FileNotFoundException e) {

e.printStackTrace();
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Menjalankan kod di atas akan membuang pengecualian FileNotFoundException kerana kami tidak boleh mengakses fail sistem Windows.

3. Fail dipadamkan atau dialihkan

Jika anda mengendalikan fail dalam program dan fail itu telah dipadamkan atau dialihkan ke lokasi lain, pengecualian FileNotFoundException mungkin berlaku.

Contohnya:

Fail fail = new File("D:/file.txt"); //File path
cuba {

FileInputStream fileInputStream = new FileInputStream(file);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} catch (FileNotFoundException e) {

e.printStackTrace();
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Jika sebelum program berjalan, Fail file.txt telah dipadamkan atau dialihkan ke lokasi lain, maka pengecualian FileNotFoundException akan dibuang.

3. Bagaimana untuk mengelakkan dan menyelesaikan FileNotFoundException?

1. Semak nama fail dan laluan

Untuk mengelakkan FileNotFoundException, kita harus menyemak sama ada nama dan laluan fail adalah betul. Adalah disyorkan untuk menggunakan laluan mutlak, yang boleh mengelakkan masalah yang disebabkan oleh laluan fail yang salah.

Contohnya:

Fail fail = new File("D:/file.txt"); //File path
cuba {

FileInputStream fileInputStream = new FileInputStream(file);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} catch (FileNotFoundException e) {

e.printStackTrace();
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Kita boleh semak fail oleh Sama ada laluan itu betul untuk mengelak daripada membuang pengecualian FileNotFoundException.

2. Mengendalikan isu kebenaran

Untuk mengelakkan FileNotFoundException disebabkan oleh isu kebenaran, kami harus memastikan bahawa program mempunyai kebenaran yang mencukupi untuk mengakses fail. Anda boleh menyalin fail ke direktori yang program mempunyai kebenaran untuk mengakses sebelum menjalankan program. Anda juga boleh menggunakan akaun pentadbir untuk menjalankan program.

Contohnya:

Fail fail = new File("C:/file.txt"); //File path
cuba {

FileInputStream fileInputStream = new FileInputStream(file);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} catch (FileNotFoundException e) {

e.printStackTrace();
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Jika fail itu disimpan dalam cakera C, kita boleh menggunakan akaun pentadbir untuk menjalankan program bagi memastikan program mempunyai kebenaran yang mencukupi untuk mengakses fail.

3. Tangkap pengecualian FileNotFoundException

Untuk menjadikan program lebih mudah dibaca dan pengendalian ralat mampu, kami harus menangkap pengecualian FileNotFoundException dan mengendalikannya dengan sewajarnya. Contohnya, berikan pengguna maklumat segera yang mesra, rekod log, dsb.

Contohnya:

Fail fail = new File("D:/file.txt"); //File path
cuba {

FileInputStream fileInputStream = new FileInputStream(file);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} catch (FileNotFoundException e) {

e.printStackTrace(); System.out.println("文件不存在!");
Salin selepas log masuk

}

theceptionFileFounding pengecualian dan Menyediakan gesaan yang sesuai boleh memudahkan pengguna memahami masalah program dan menyelesaikannya tepat pada masanya.

Ringkasnya, pengecualian FileNotFoundException ialah salah satu pengecualian yang paling biasa dalam pembangunan Java Selain menyemak nama fail dan laluan, kami juga boleh menyemak isu kebenaran dan kemungkinan punca pengecualian ini. Apabila mengendalikan pengecualian ini, kita harus mengambil langkah yang sewajarnya untuk memastikan program dapat dilaksanakan secara normal.

Atas ialah kandungan terperinci Apakah punca biasa FileNotFoundException di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!