자바 파일명 인코딩 문제..

sunmind99의 이미지

OS는 리눅스구요.. 대략 디렉토리 내에 euc-kr로 쓰여진 파일명과 utf-8로 쓰여진 파일명이 혼재되어 있고, 이 디렉토리를 access하기 위한 java프로그램을 짜야하는 상황입니다.

문제는 locale을 ko_KR.euc-kr로 해두면 파일명이 euc-kr로 쓰여진 파일들은 잘 읽는데 utf-8로 쓰여진 파일명은 못읽고, 그 반대의 경우엔 euc-kr로 된 파일명은 못 읽는다는 겁니다.

File의 list(), listFiles()는 동작을 못하고,

Process클래스로 ls를 실행해서 뱉는 line을 통해 시도해 봐도 File file = new File(line);에서 막히네요..

이 경우 파일명을 일괄적으로 바꾸는 것 외엔 방법이 없을까요.......ㅜㅜ

anabaral의 이미지

파일 내용이 아닌 파일명을 넘겨받을 때는
OS가 관계하며 자바가 터치하지 못하는 부분이 있습니다.

로케일을 en_US.8859_1 로 하면 읽을 수는 있을 겁니다.
(프로그램적으로 뒷작업을 해 줘야 하고 저장도 쉽지 않지만요)

부랴부랴~~~