×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 2,101,745명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)
반응형

리눅스 그리고 일반적인(내장 메모리) 안드로이드는 File name에 대하여 대소문자를 구분한다.

하지만 SD 카드나 메모리 카드 등등에서 쓰는 FAT File system에서는 대소문자를 구분하지 않는다.

 

따라서 안드로이드에서는 어떤 상황에서는 대소문자를 구분하고 어떤 상황에서는 대소문자를 구분하지 않는다.

 

만약 /sdcard/file (SD card)/data/file (Internal file system)에 파일들이 존재한다면 exists 메서드를 호출하면 다음과 같이 리턴된다.

new File("/sdcard/file").exists(); // true
new File("/sdcard/FILE").exists(); // true, /sdcard is a case-insensitive file system
new File("/data/file").exists(); // true
new File("/data/FILE").exists(); // false, /data is a case-sensitive file system

 

따라서 안드로이드 코딩을 할때는 case sensitive하게 만들어야한다. 그렇지 않으면 대문자, 소문자 하나 때문에 계속해서 디버깅을 하게 될 것이다.

 

https://stackoverflow.com/questions/6502712/isnt-android-file-exists-case-sensitive

 

Isn't Android File.exists() case sensitive?

I've created a new folder "sdcard/dd" by: File album = new File(albumPath); if (album.exists()) { Log.d(TAG, albumPath + " already exists."); } else { boolean bFile = album.mkdir(); } And ...

stackoverflow.com

 

반응형