Mengatasi Ralat "Path Not Found" dalam Membaca Fail daripada Relative Path dalam Java
Di Java, mengakses fail melalui laluan relatif boleh rumit apabila menggunakan java.io.File. Pembangun sering menghadapi ralat "sistem tidak dapat mencari laluan yang ditentukan" apabila cuba mengakses fail daripada pakej selain daripada tempat kelas berada.
Untuk menyelesaikan isu ini, amat disyorkan untuk mendapatkan semula fail daripada laluan kelas dan bukannya bergantung pada laluan relatif. Laluan kelas mengandungi semua sumber yang diperlukan oleh aplikasi dan boleh diakses terus melalui kaedah getClass().
Mendapatkan Fail Menggunakan URL dan Laluan
Jika fail terletak dalam pakej yang sama dengan kelas FileLoader, pendekatan berikut boleh digunakan:
<code class="java">URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath());</code>
Mengakses Fail sebagai InputStream
Jika anda hanya memerlukan input strim untuk mengakses kandungan fail, anda boleh menggunakan:
<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>
Mengendalikan Fail Sifat
Jika fail itu ialah fail sifat dengan pasangan nilai kunci, perkara berikut pendekatan diutamakan:
<code class="java">Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>
Nota untuk Konteks Statik
Apabila mengakses sumber daripada konteks statik, gunakan FileLoader.class dan bukannya getClass() dalam contoh di atas .
Dengan menggunakan teknik ini, pembangun boleh mendapatkan semula fail dengan berkesan daripada laluan relatif tanpa menghadapi ralat berkaitan laluan dalam projek Java.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Path Not Found' Semasa Membaca Fail dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!