Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan Ralat \'Sistem tidak dapat mencari laluan yang ditentukan\' Semasa Mengakses Fail dalam Java?

Bagaimana untuk Menyelesaikan Ralat \'Sistem tidak dapat mencari laluan yang ditentukan\' Semasa Mengakses Fail dalam Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 15:30:421095semak imbas

How to Resolve

Menyelesaikan Isu Laluan Fail dalam Java Apabila Menghadapi "Sistem tidak dapat mencari laluan yang ditentukan"

Dalam projek Java anda, anda menghadapi ralat semasa cuba mengakses teks fail daripada laluan relatif yang ditentukan. Ralat ini timbul daripada ketidakupayaan kelas java.io.File untuk mengesan laluan yang ditetapkan.

Untuk menangani isu ini, adalah disyorkan untuk mendapatkan semula fail daripada classpath dan bukannya bergantung pada sistem fail. Dengan berbuat demikian, anda menghapuskan keperluan untuk laluan relatif dan memastikan bahawa fail diperoleh tanpa mengira direktori kerja semasa.

Dengan mengandaikan bahawa fail ListStopWords.txt berada dalam pakej yang sama dengan kelas FileLoader, perkara berikut kod menunjukkan cara untuk mendapatkan fail daripada classpath:

<code class="java">URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());</code>

Sebagai alternatif, jika tujuan utama anda adalah untuk memperoleh InputStream untuk fail, anda boleh menggunakan yang berikut:

<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>

Pendekatan ini lebih disukai kerana ia memuatkan pelbagai perwakilan sistem fail, termasuk sistem fail maya dan laluan rangkaian.

Selain itu, jika fail itu ialah fail sifat yang mengandungi pasangan nilai kunci, anda boleh memuatkannya terus daripada InputStream:

<code class="java">Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>

Sila ambil perhatian bahawa jika anda mengakses fail dari dalam konteks statik, anda harus menggantikan getClass() dengan YourClass.class (di mana YourClass mewakili nama kelas anda).

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Sistem tidak dapat mencari laluan yang ditentukan\' Semasa Mengakses Fail dalam Java?. 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