cari
RumahJavajavaTutorialJava FileNotFoundException

Java FileNotFoundException ialah sejenis pengecualian yang sering berlaku semasa bekerja dengan API Fail dalam Java di mana laluan yang ditentukan untuk fail untuk tujuan membaca atau menulis dalam pembina kelas FileInputStream, FileOutputStream dan RandomAccessFile, sama ada tidak wujud atau tidak boleh diakses disebabkan kunci sedia ada atau isu teknikal lain. Ini adalah pengecualian yang diperiksa ialah subkelas langsung IOException yang telah diperkenalkan dengan JDK 1.0. Selain itu, ia mengandungi dua jenis pembina yang boleh dipanggil di mana seseorang mengembalikan Pengecualian dengan mesej nol untuk dipaparkan, manakala yang lain mencetak mesej yang ditentukan sekiranya pengecualian berlaku.

IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

public class FileNotFoundExceptionextends IOException
  • awam: Kata kunci awam merujuk kepada kelas yang diberikan boleh diakses daripada mana-mana kelas dalam projek dan perlu diwarisi untuk membuang pengecualian.

Kelas ini ialah subkelas langsung IOException, dengan itu mewarisi semua kaedah dan pembolehubah kelas.

Bagaimana FileNotFoundException berfungsi di Java?

FileNotFoundException ialah pengecualian bertanda yang digunakan yang berlaku apabila laluan fail yang ditentukan untuk mengakses tidak wujud atau tidak boleh diakses. Dengan pengecualian yang diperiksa, ini bermakna pengkompil java menyemak pada masa penyusunan jika pengecualian ini telah dikendalikan atau tidak; jika tidak, ralat masa kompilasi berlaku. Mari kita lihat bagaimana pengecualian dilemparkan pada masa jalan sekiranya ia telah dikendalikan menggunakan blok cuba-tangkap atau menggunakan kata kunci lontaran dalam definisinya pada masa pengkompil.

Contoh:

File fileObj = new File("C:/JavaPractice.txt")

Andaikan kita membuat instantiat objek kelas Fail seperti yang diberikan di atas dengan laluan fail, dan fail itu tidak wujud. Dalam kes itu, apabila pengkompil cuba membaca atau menulis fail dan menemui situasi sedemikian, ia membuang pengecualian dan mencipta contoh FileNotFoundExceptionclass. Sekiranya tidak dinyatakan pembina mana yang perlu dipanggil, pembina tanpa mesej ralat akan dilemparkan.

Oleh itu aplikasi gagal dengan ralat di bawah:

Java FileNotFoundException

Pembina Java FileNotFoundException

FileNotFoundException ialah subkelas IOException yang sangat berguna untuk dikesan jika fail yang dinyatakan dalam laluan fail wujud dan juga boleh diakses. Oleh itu, untuk menggunakan ini, seseorang perlu membuat instantiat, dan ia adalah kelas awam; ia boleh dijadikan instantiated dari mana-mana tempat dalam projek. Dan untuk mencipta contoh kelas mempunyai 2 jenis pembina.

Diberikan di bawah ialah dua jenis pembina:

1. Pembina tanpa mesej ralat

Pembina jenis ini digunakan untuk mencipta contoh kelas FileNotFoundException di mana ia mengembalikan null sebagai mesej butiran ralatnya.

Sintaks:

public FileNotFoundException()

Contoh:

FileNotFoundExceptionexcepObj = new FileNotFoundException()

2. Pembina dengan mesej ralat

Pembina jenis ini digunakan untuk mencipta contoh kelas FileNotFoundException di mana ia mengembalikan rentetan tertentu sebagai mesej butiran ralatnya.

Sintaks:

public FileNotFoundException(String s)

Contoh:

FileNotFoundExceptionexcepObj = new FileNotFoundException("This is a FileNotFoundException")

Mesej ralat yang ditentukan boleh diambil dengan mudah menggunakan kaedah Throwable.getMessage() kerana ini adalah salah satu kelas super kelas FileNotFoundException.

Contoh Java FileNotFoundException

Diberikan di bawah adalah contoh yang dinyatakan:

Contoh #1

Di sini kita melihat bagaimana pengecualian dilemparkan oleh JVM jika satu fail tidak boleh diakses. Dalam hal ini, mesej ralat yang dipaparkan dalam output adalah yang ditentukan secara lalai oleh JVM.

Kod:

//package Proc;
import java.io.Console;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
public class prac1 {
public static void main(String[] args) {
File fileObj = new File("D:/JavaPractice.txt");
FileInputStream fISObj = null;
try{
fISObj = new FileInputStream(fileObj);
while (fISObj.read()!=-1){
System.out.println(fISObj.read());
}
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}

Output:

Java FileNotFoundException

Contoh #2

Dalam contoh ini, kami akan menggunakan pembina dengan mesej ralat yang ditentukan untuk memaparkan ralat apabila fail tidak wujud pada laluan yang diberikan. Kami telah menggunakan kata kunci lontaran untuk membuang pengecualian.

Kod:

//package Proc;
import java.io.Console;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
public class prac1 {
public static void main(String[] args) throws FileNotFoundException,IOException{
File fileObj = new File("D:/JavaPractice.txt");
if(!fileObj.exists()){
throw new FileNotFoundException("This file doesnot exist in the path specified "+fileObj.toString());
}
else {
System.out.println("Welcome, we got into file "+fileObj.toString());
}
}
}

Output:

Java FileNotFoundException

Bagaimana untuk mengelakkan FileNotFoundException?

Mendapatkan FileNotFoundException dalam aplikasi menjadikan aplikasi tidak cekap. Langkah pertama untuk mengelakkan pengecualian ini adalah untuk menyemak sama ada fail yang ditentukan wujud pada laluan yang ditentukan, tetapi masih, mungkin terdapat situasi dalam aplikasi masa nyata yang fail itu tiada atau jika proses lain mengunci fail untuk dibaca tulis ke dalamnya.

Kes 1: Fail tiada

Untuk mengelakkan ini, seseorang boleh menggunakan kaedah java.io.File.exists() untuk menyemak sama ada fail yang cuba dibaca wujud pada laluan yang ditentukan atau tidak. Menggunakan ini, kita mesti memastikan sama ada kod kita dapat mengendalikan pengecualian FileNotFoundException.

Kes 2: Fail tidak boleh diakses

Untuk mengelakkan kes sedemikian, seseorang perlu berhati-hati jika fail yang kami cuba baca sedang dikunci oleh pengguna lain yang menulisnya. Untuk ini kita boleh menggunakan kaedah canRead() atau canWrite() java.io. Kelas fail yang memberitahu sama ada fail yang ditentukan tersedia untuk tujuan membaca atau menulis atau tidak.

Menggunakan 2 langkah berjaga-jaga ini, seseorang boleh dengan mudah mengelakkan percubaan oleh contoh kelas fail untuk membuka fail yang boleh menyebabkan pengecualian yang diperiksa. Ini meningkatkan kecekapan aplikasi yang termasuk program untuk mengakses fail dari laluan yang ditentukan.

Kesimpulan

FileNotFoundException ialah sejenis pengecualian yang disemak yang berlaku sebaik sahaja percubaan dibuat pada fail yang sama ada tidak wujud atau tidak boleh diakses pada masa itu disebabkan beberapa kunci. Oleh kerana ia adalah pengkompil java pengecualian yang diperiksa memastikan ia telah dikendalikan pada masa penyusunan. Namun begitu, jika seseorang perlu mengelakkannya supaya mereka boleh menggunakan kaedah exist(), canRead() atau canWrite() yang terdapat dalam kelas Fail.

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

Kenyataan
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.