1

AndroidデバイスでリムーバブルSDカードを見つける方法を見つけようとしています。私は一貫して良い結果を提供するいくつかの方法を見つけました。まったく同じ位置を指しているように見える2つの異なるファイルパスを見つけることがあります。

例えば:

/mnt/sdcard/storage/sdcard0

一部のデバイスでは同じ場所を指しているように見えます。私の結論は、そのうちの1つはエイリアスですが、両方を使用してSDカードに書き込むことができるということです。エイリアシングの使用についてはあまり詳しくありませんが、ファイルのいずれかまたは両方がエイリアシングであるかどうかを確認する方法はありますか?「実際の」ファイルパスを特定することは可能ですか?

AndroidはLinuxカーネル上に構築されており、ファイルシステムの規則のいくつかを採用していることを私は知っています。これを行うための標準的なLinuxの方法はありますか?

4

1 に答える 1

3

シンボリックリンクのことだと思います。

これは基本的に、Apache Commonsでの方法です(ライセンスが必要です)。

この回答でも言及されています:Java1.6-シンボリックリンクを決定します

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());
}
于 2013-03-14T16:11:22.347 に答える