2011-11-13 2 views
5

안드로이드 파일 시스템에서 한 디렉토리에서 다른 디렉토리로 파일을 옮겨야합니다. 어떻게하면 두 경로가 같은 마운트 지점에 있는지 프로그래밍 방식으로 확인할 수 있습니까?두 경로가 같은 탑재 지점에 있는지 확인하는 방법은 무엇입니까?

가있는 경우, 우리는 대신 File.rename(newPath)을 사용하는 비트를 복사해야하기 때문에이 알고 싶은 이유입니다. 경로가 다른 마운트 포인트에

예 :

  • 사용자는 외부 저장 장치 내부에서 파일을 이동하기를 원한다.

  • 사용자는 samsungdevice에/SDCARD/파일에서에/SDCARD/external_sd/파일을 파일을 이동하려고합니다.

답변

2

한 가지 방법은 안드로이드 앱 내에서 상주 :

  • 가에() File.getCanonicalPath를 호출하여 파일의 정식 경로를 얻을.

  • 후 현재 마운트 된 파일 시스템의 목록을/proc 디렉토리/마운트

  • 및 지점 경로 문제의 파일의 정식 경로에 대한 가장 완벽한 문자열 일치 탑재되는 찾을에서 & 자신의 마운트 포인트 경로, 이 파일의 마운트 지점/파일 시스템을 제공해야합니다.

두 파일의 결과를 비교하십시오.

5

File.rename으로 전화하십시오. 성공하면 동일한 마운트 지점에 있습니다. 파일을 특정 파일 시스템 결정하는

+2

이 갈 하나의 방법입니다. 그러나 그것이 실패하면 다른 마운트 포인트에있는 것보다 다른 이유가있을 수 있습니다. –

+2

나는 그것이 중요하지 않은지 의심 스럽다. 어떤 이유로 든 실패합니다. 똑같은 일을하고 싶습니다. 직접 복사를 시도하고 실패 할 경우에만 오류를보고하십시오. –

관련 문제