Rumah > Java > javaTutorial > Bagaimana untuk Menentukan Pautan Simbolik dengan Tepat dalam Java 1.6?

Bagaimana untuk Menentukan Pautan Simbolik dengan Tepat dalam Java 1.6?

DDD
Lepaskan: 2024-10-28 05:47:01
asal
979 orang telah melayarinya

How to Accurately Determine Symbolic Links in Java 1.6?

Menentukan Pautan Simbolik dalam Java 1.6

Dalam mengejar direktori yang cekap melintasi dalam persekitaran Java 1.6, menjadi penting untuk membezakan antara yang sebenar direktori dan pautan simbolik ke direktori. Jika objek Fail mewakili direktori, bolehkah keadaan berikut menentukan dengan tepat sama ada ia adalah pautan simbolik?

if (file.getAbsolutePath().equals(file.getCanonicalPath())) {
    // Real directory
} else {
    // Possible symbolic link
}
Salin selepas log masuk

Jawapan:

Walaupun teknik ini mungkin menunjukkan pautan simbolik, ia tidak dapat memberikan jaminan yang pasti. Ketidakpadanan antara laluan mutlak dan laluan kanonik hanya boleh menyerlahkan keperluan untuk layanan istimewa, dan bukannya mengesahkan pautan simbolik secara konklusif.

Pendekatan Alternatif:

Tawaran Apache Commons penyelesaian yang lebih dipercayai. Ia menentukan sama ada fail ialah pautan simbolik dengan membandingkan laluan kanonik direktori induknya dengan laluan kanoniknya sendiri:

<code class="java">public static boolean isSymlink(File file) throws IOException {
    File canon;
    if (file.getParent() == null) {
        canon = file;
    } else {
        File canonDir = file.getParentFile().getCanonicalFile();
        canon = new File(canonDir, file.getName());
    }
    return !canon.getCanonicalFile().equals(canon.getAbsoluteFile());
}</code>
Salin selepas log masuk

Kaedah yang diperhalusi ini menyediakan cara yang lebih tepat untuk mengenal pasti pautan simbolik dengan membandingkan laluan kanonik fail dengan direktori induknya.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Pautan Simbolik dengan Tepat dalam Java 1.6?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan