ここでは、「チャレンジ」と質問形式でのタイトルのオプションをいくつか示します。 * Java 1.6 でシンボリック リンクを確実に検出するにはどうすればよいですか? * シンボリックリンクですか? Java 1.6 Direct の信頼できる方法

DDD
リリース: 2024-10-27 03:30:03
オリジナル
424 人が閲覧しました

Here are a few title options, playing on the

Java 1.6 でのシンボリック リンクの確認

UNIX システムで動作する DirectoryWalker クラスのコンテキストで、ファイル インスタンスがシンボリック リンクであるかどうかを確認するディレクトリへのリンクは難しい場合があります。提供された条件:

if (file.getAbsolutePath().equals(file.getCanonicalPath()))
ログイン後にコピー

は指標として機能しますが、完全に信頼できるわけではない可能性があります。

代替アプローチ

より信頼性の高い方法Apache Commons で採用されている手法では、親ディレクトリの正規パスとファイル自体の正規パスを比較します。

public static boolean isSymlink(File file) throws IOException {
  if (file.getParent() == null) {
    canon = file;
  } else {
    File canonDir = file.getParentFile().getCanonicalFile();
    canon = new File(canonDir, file.getName());
  }
  return !canon.getCanonicalFile().equals(canon.getAbsoluteFile());
}
ログイン後にコピー

ここで、正規パスと絶対パスの不一致は、シンボリック パスが存在することを示しています。リンク。ただし、このアルゴリズムは次の前提に依存していることに注意することが重要です:

  • ファイルの親ディレクトリは正規パスに解決できます。
  • ファイル システムはシンボリック リンクをサポートしています。 .

これらの仮定が当てはまらない場合、アルゴリズムはシンボリック リンクの存在を正確に判断できない可能性があります。

以上がここでは、「チャレンジ」と質問形式でのタイトルのオプションをいくつか示します。 * Java 1.6 でシンボリック リンクを確実に検出するにはどうすればよいですか? * シンボリックリンクですか? Java 1.6 Direct の信頼できる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!