Java 1.6 でシンボリック リンクを正確に判断するにはどうすればよいですか?
Oct 28, 2024 am 05:47 AMJava 1.6 でのシンボリック リンクの決定
Java 1.6 環境内のディレクトリを効率的に走査するためには、実際のディレクトリを区別することが不可欠になります。ディレクトリとディレクトリへのシンボリック リンク。 File オブジェクトがディレクトリを表す場合、次の条件でそれがシンボリック リンクであるかどうかを正確に判断できますか?
if (file.getAbsolutePath().equals(file.getCanonicalPath())) { // Real directory } else { // Possible symbolic link }
答え:
この手法は次のことを示す可能性があります。シンボリック リンクであるため、最終的な保証はできません。絶対パスと正規パスの不一致は、シンボリック リンクを最終的に確認するのではなく、単に特別な処理の必要性を強調するだけである可能性があります。
代替アプローチ:
Apache Commons が提供するものより信頼性の高いソリューション。親ディレクトリの正規パスとそのファイル自体の正規パスを比較することによって、ファイルがシンボリック リンクであるかどうかを判断します。
<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>
この洗練された方法は、比較することによってシンボリック リンクを識別するより正確な方法を提供します。ファイルの正規パスとその親ディレクトリの正規パス。
以上がJava 1.6 でシンボリック リンクを正確に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正
