2011-11-13 27 views
5

Android dosya sisteminde bir dosyayı bir dizinden diğerine taşımam gerekiyor. İki yolun aynı bağlama noktasında olup olmadığını nasıl programlayabilirim?İki yolun aynı bağlama noktasında olup olmadığını nasıl kontrol edebilirim?

Bunu bilmek istediğim nedeni, File.rename(newPath) kullanmak yerine bitleri kopyalamamız gerektiğidir. yolları farklı mountpoints üzerinde

Örnekler:

  • kullanıcının harici bir depolama dahili bir dosya taşımak istemez. Kullanıcı, bir dosyayı Samsungdevice'de/sdcard/files klasörüne/sdcard/external_sd/files dosyasına taşımak ister.

cevap

2

bir yolu bir Android uygulaması içinden bulunduğu:

  • üzerinde() File.getCanonicalPath arayarak dosyanın kanonik yolunu olsun.

  • sonra şu anda bağlanan dosya listesini almak için/proc/bağlar

  • ve nokta yolu, söz konusu dosyanın kurallı yolu için en eksiksiz dize maç monte hangi bulmak dan & onların bağlama noktası yolları, Bu size dosyanın bağlama noktası/dosya sistemini vermelidir.

İki dosyadan sonuçları karşılaştırın.

5

File.rename numaralı telefonu arayın. Başarılı olursa, aynı bağlama noktasındadırlar. Bir dosya dosya sistemi belirlemek için

+2

Gitmenin bir yolu. Ama başarısız olursa - farklı bağlama noktalarında olmaktan başka nedenler için olabilir. –

+2

Bu konuda şüphem var. Ne olursa olsun başarısız olursa, hemen hemen aynı şeyi yapmak istersiniz - kopyayı kendiniz yapmaya çalışın ve sadece hata verirse hata bildirin. –

İlgili konular