Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Mengelak Ralat \'Path Not Found\' Semasa Membaca Fail dengan Laluan Relatif di Java?

Bagaimanakah Saya Boleh Mengelak Ralat \'Path Not Found\' Semasa Membaca Fail dengan Laluan Relatif di Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-29 11:53:02316semak imbas

How Can I Avoid

Membaca Fail dari Laluan Relatif di Java: Menyelesaikan Isu "Path Not Found"

Di Java, mengakses fail melalui laluan relatif menggunakan java .io.File kadangkala boleh menemui ralat "Sistem tidak dapat mencari laluan yang ditentukan." Ini boleh berlaku apabila berurusan dengan fail yang terletak dalam pakej atau JAR yang berbeza. Untuk menyelesaikan isu ini, pendekatan alternatif diperlukan.

Penyelesaian 1: Mengakses Fail melalui Classpath

Daripada menggunakan laluan relatif dalam Fail, lebih baik dapatkan fail daripada laluan kelas. Ini memastikan kebebasan daripada direktori kerja semasa. Dengan mengandaikan fail berada dalam pakej yang sama dengan kelas yang mengaksesnya, kod berikut boleh digunakan:

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

Penyelesaian 2: Menggunakan InputStream

Jika dikehendaki Hasilnya adalah untuk mendapatkan InputStream untuk fail, mengaksesnya secara terus dari classpath adalah lebih cekap:

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

Pertimbangan untuk Fail Sifat

Jika fail itu adalah sifat fail (mengandungi pasangan nilai kunci), InputStream boleh digunakan untuk memuatkan sifat secara terus:

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

Nota untuk Konteks Statik

Apabila mengakses fail daripada konteks statik, gantikan getClass() dengan YourClass.class atau FileLoader.class dalam contoh kod di atas.

Dengan menggunakan teknik ini, mengakses fail daripada laluan relatif dalam Java boleh dilakukan dengan pasti, mengelakkan "Path Ralat Tidak Ditemui" dan memastikan kebebasan aplikasi daripada direktori kerja semasa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelak Ralat \'Path Not Found\' Semasa Membaca Fail dengan Laluan Relatif di 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