개발중인 어플에 폴더가 필요한 상황이 생겨 구현하던도중 중복처리와 관련된 문제에 부딪혀 고민중입니다. (폴더를 생성하는 부분은 문제없이 구현했습니다.)
폴더 만들기 기능은 액션바의 메뉴에 사용했습니다.
먼저 메뉴에서 '새폴더'라는 아이템을 누르면 AlertDialog가 생성되고 Dialog안에는 EditText와 확인/취소 버튼이 있습니다. getAbsolutePath()와 EditText의 내용을 얻어 mkdirs()을 해주는 방식으로, 이름을 적고 확인을 누르면 최종적으로 현재 지점의 폴더의 상위폴더(EditText로 만든 폴더)를 만들어주는 기능입니다.
여기서 생긴 문제는 이러한 방식으로 구현하니 if()를 통해 중복된 경로의 상위폴더를 못만들게 하는 기능을 구현하지 못했습니다.
Flie.exists()로 확인하자니 폴더 이름이 어떻든간에 확인되서 문제고...
API에선 제일 가능성 있어보이는 equlas()와 FileFilter(), getName()밖에 찾지 못했습니다. equlas는 자세한 사용법은 모르겠고... FileFilter는 폴더내의 디렉토리만을 필터링해주고, getName은 현재 지점에서의 폴더 이름을 리턴해주는듯 합니다.
또한 이것을 폴더를 만드는 과정에서 확인해줘야 하는건지, 폴더를 리스트뷰에 추가할때 확인을 시켜주는 것인지 제대로된 확신을 못내겠습니다...
(혹시 제가 찾아낸 메소드들 중에서 맞는 것이 있다면 알려주시면 정말로 감사드리겠습니다...)