2011-08-15 5 views
2

텍스트 파일을 가져 와서 간단하게 android를 사용하여 텍스트보기에 표시하려고합니다. 파일은 "법적"라고하며 입술에 위치하고Android Text File Importing

/원료 나 파일에 읽기 위해 다음 코드를 사용

...

 BufferedReader bufferreader = new BufferedReader(new 
     InputStreamReader(getResources().openRawResource(R.raw.legal), Charset.forName("UTF8"))); 
     String bufferLine; 
     String tempText = ""; 
     try 
     { 
      while ((bufferLine = bufferreader.readLine()) != null) 
      { 
       tempText = tempText + bufferLine + "\n"; 
      } 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 

나는에 tempText을 표시하려고

TextView, 방향 "스마트"따옴표는 알 수없는 문자로 표시됩니다. 텍스트 파일 인 legal은 UTF8로 인코딩됩니다 (notepad ++ 사용). 나는 그 문제가 무엇인지 알아낼 수 없다.

+0

이 문제에 대한 해결책 (? 당신이 파일이 UTF-8로 저장 한 것이 확실) 그냥 관찰하지

희망 : 그 코드가 중간'String' 객체를 많이 생성하는 것 쓰레기 수거가 필요합니다. 'StringBuilder'를 사용하는 것이 더 효율적입니다. 특히 파일이 클 경우에는 더욱 그렇습니다. –

답변

1

"UTF8"이 유효한 문자 집합 이름입니까? the documentation for Charset는 UTF-8

나는 보통 단지

InputStreamReader(inputStream, "UTF-8") 

을하고 문제가 없었 제시하는 것 같다. 나는 utf로 인코딩 된 html 스타일에 문제가있다.

txtView.setText(Html.fromHtml("“" + " Hello World " + "”").toString()); 

를 그냥 있는지 확인하기 위해이 그 문제 위에서 나는 다음을 시도 할 것입니다 도움이되지 않았기 때문에

txtView.setText(Html.fromHtml(str).toString()); 

편집

을 고정 &#UNICODENUMBER;

에서와 같이 사용 된 글꼴은 문자를 지원합니다 (나는 당신이 따옴표를 감은 후에 추측하고 있습니다). 파일을 렌더링하는 경우 파일을 읽는 방법 (실제로는 유효하지만 실제 파일처럼 보입니다)에 문제가 있어야합니다. 도움이 :)

+0

답변 해 주셔서 감사합니다. 문자열을 "UTF-8"로 변경하려고 시도했지만 아무 것도 변경하지 않습니다. 나는 또한 당신이 설명하는 utf html 메서드를 시도했지만, 그 역시 도움이되지 못했다. –

+0

아플 시도하고 내 대답을 업데이트 – JustDanyul

+0

답장을 보내 주셔서 감사합니다. 일이 제대로 수행되면 장치 자체에 특수 문자를 표시하는 데 문제가 없기 때문에 원래 인코딩 한 파일에 문제가 있다고 생각합니다. 감사! –