2011-05-09 9 views
2

히브리어로 UTF-8로 인코딩 된 텍스트 파일을 읽는 데 문제가 있습니다. 두 글자 = 'מ'과 'א'을 제외한 모든 히브리어 문자를 성공적으로 읽었습니다.Java로 텍스트 파일에서 히브리어 읽기

FileInputStream fstream = new FileInputStream(SCHOOLS_LIST_PATH); 
BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
String strLine; 

// Read File Line By Line 
while ((strLine = br.readLine()) != null) { 

       if(strLine.contains("zevel")) { 

        continue; 
       } 

       schools.add(getSchoolFromLine(strLine)); 
} 

어떤 생각 : 여기

내가 그것을 읽고 어떻게?

감사합니다, 토 메르는 플랫폼의 기본을 사용하고, 그래서 당신은 인코딩을 지정하지 않고 InputStreamReader를 사용하고

+1

'מ'과 'א'대신에 무엇을 읽고 계십니까? – jarnbjo

+0

이 두 문자 각각에 대해 사각형과 물음표. ~ "?"와 같은 것 – tomericco

+0

DataInputStream을 사용하여 텍스트를 읽지 마십시오. 불행히도이 예제는 반복해서 복사되므로 예제에서 제거 할 수 있습니다. http://vanillajava.blogspot.co.uk/2012/08/java-memes-which-refuse-to-die.html –

답변

4

- 잘 UTF-8하지 수 있습니다.

보십시오 : 당신은 단지 FileInputStream 주위 InputStreamReader을 만들 ... 여기 DataInputStream를 사용하는 이유는 분명 아니라고

new InputStreamReader(in, "UTF-8") 

참고.

+1

그가 UTF-8과 호환되는 기본 인코딩을 사용하고있는 것은 사실입니까? 문자 'מ'와 'א'? – jarnbjo

+0

@jarnbjo : 나도 몰라. 그러나 그것은 가장 분명한 출발점이고, 내가 취할 첫 걸음이야. –

+0

그 이유는 무엇입니까? UTF-8을 기본 인코딩으로 사용하지 않는 경우 히브리어 문자로 UTF-8로 인코딩 된 파일을 읽는 것은 오해를 불러 일으키지 않고 가비지를 생성합니다. – jarnbjo