이 질문에 대해 많은 질문과 답변이 있다는 것을 알고 있지만 적절한 답변을 찾지 못했습니다.
sdcard 이름 database.db에 파일이 있습니다 . 파일 경로를 얻고 싶습니다. mnt / sdcard / db / database.db에 저장된 파일 . 이 mnt / sdcard / db / 와 같은 출력이 필요합니다 . 어떤 코드 나 예제를 주시면 감사하겠습니다.
파일 이름 만 가지고있는 경우 경로를 가져올 수 있습니까?
다시 편집 ^-^ :
나는 마침내 당신이 원하는 것을 이해했다고 생각합니다 : 입력으로 파일 이름 만 가지고 전체 sd 카드를 검색하고 그것이 있으면 그것이있는 디렉토리의 경로를 얻고 싶습니다. .
사용자의 SD 카드에 많은 폴더와 파일이 포함 된 경우 파일에 대한 전체 검색이 느려질 수 있습니다.
다음은 파일을 검색하는 간단한 기능입니다.
public static void findFilePath(File dir, String filename, List<String> result) {
// get all files in dir
File[] files = dir.listFiles();
for( File f : files ){
if( f.isDirectory() ){
// Recurse
findFilePath(dir, filename, result);
}
else{
if( f.getName().equals("filename") ){
String absPath = f.getAbsolutePath();
result.add(absPath.substring(0, absPath.lastIndexOf(File.separator)));
}
}
}
}
그리고 사용법은 다음과 같습니다.
List<String> result = new ArrayList<String>();
findFilePath( Environment.getExternalStorageDirectory(), "database.db", result);
System.out.println(result.get(0));
이제 몇 가지 가능한 문제가 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다