Rumah > Java > javaTutorial > Bagaimanakah Java Boleh Menjana Laluan Relatif daripada Dua Laluan Mutlak?

Bagaimanakah Java Boleh Menjana Laluan Relatif daripada Dua Laluan Mutlak?

Mary-Kate Olsen
Lepaskan: 2024-12-09 05:40:21
asal
481 orang telah melayarinya

How Can Java Generate a Relative Path from Two Absolute Paths?

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
Salin selepas log masuk

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"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan