Rumah >Java >javaTutorial >Bagaimanakah Java Boleh Menjana Laluan Relatif daripada Dua Laluan Mutlak?
Menggunakan Java untuk Membina Laluan Relatif daripada Laluan Mutlak
Apabila bekerja dengan laluan fail dalam Java, anda mungkin perlu mencipta laluan relatif daripada dua jalan mutlak. Laluan relatif mentakrifkan lokasi relatif kepada laluan asas. Ini boleh berguna untuk memudahkan operasi fail dan traversal.
Soalan:
Diberikan dua laluan mutlak:
/var/data/stuff/xyz.dat /var/data
Bagaimana anda boleh mencipta laluan relatif yang menggunakan laluan kedua sebagai asasnya? Dalam contoh ini, laluan relatif yang dijangkakan ialah ./stuff/xyz.dat.
Jawapan:
Satu kaedah untuk membina laluan relatif di Jawa adalah dengan memanfaatkan kelas URI. Kelas URI menyediakan kaedah relativize yang melakukan semakan dan pengiraan yang diperlukan.
Begini cara anda boleh menggunakan kelas URI untuk mencipta laluan relatif:
String path = "/var/data/stuff/xyz.dat"; String base = "/var/data"; String relative = new File(base).toURI().relativize(new File(path).toURI()).getPath(); // relative == "stuff/xyz.dat"
Dalam contoh ini, relativize kaedah mengambil dua objek URI yang mewakili laluan mutlak dan mengembalikan objek URI baharu yang mewakili laluan relatif. Kaedah getPath() kemudiannya digunakan untuk mengekstrak laluan relatif sebagai rentetan.
Nota Tambahan:
Untuk laluan fail khususnya, Java versi 1.7 dan ke atas menyediakan kaedah java.nio.file.Path#relativize, yang boleh digunakan untuk mengira laluan relatif terus antara objek Path. Ini mungkin menawarkan pendekatan yang lebih optimum untuk bekerja dengan laluan fail.
Atas ialah kandungan terperinci Bagaimanakah Java Boleh Menjana Laluan Relatif daripada Dua Laluan Mutlak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!