[Android] 저장소 특정 파일 찾기 & 파일 경로 알아오기
저장소를 읽고 쓰려면 다음 권한을 AndroidManifest.xml 파일에 추가해야합니다.
<manifest ...>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
안드로이드 마시멜로우 (api 23)부터는 권한 체크 모듈을 추가해야합니다.
다음은 모든 디렉토리내 파일을 검색하는 코드 입니다.
try {
File dir = Environment.getExternalStorageDirectory();
Queue<File> directoryFileList = new LinkedList<>();
ArrayList<File> inFiles = new ArrayList<File>();
directoryFileList.addAll(Arrays.asList(dir.listFiles()));
while (!directoryFileList.isEmpty()) {
File file = directoryFileList.remove();
if (file.isDirectory()) {
directoryFileList.addAll(Arrays.asList(file.listFiles()));
}
else {
// 내가 원하는 파일 이름 찾기
if (file.getName().startsWith("finedustrecord")) {
String tempPath = file.getParent() + File.separator + DB_BAK_FILE_NAME;
Log.e("TAG", "== tempPath : " + tempPath);
break;
}else if (file.getName().endsWith(".csv")) {
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
찾은 파일의 경로는 file.getParent() 함수로 가져올 수 있습니다.