마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

inputstream 으로 파일을 다 읽어오지 못합니다.

0 추천

안녕하세요. 다음 과 같이 inputstream 을 사용해서 txt 파일을 읽는 데요.

파일이 전부 읽어지지 않는 폰이 존재합니다. 원인을 모르겠어요.

 

그래서, 안돼는 폰에 텍뷰를 깔아서 txt를 읽어보니 뒤가 안잘리고 다 읽어 오는데요.

제가 인터넷으로 본 소스는 뒤가 잘려서 텍스트를 다 읽어오지 못합니다.

 

고수분들의 많은 도움 부탁드려요.

이하 소스 

InputStream is = getContentResolver().openInputStream(uri);
InputStreamReader isr = new InputStreamReader(is, "euc-kr");
BufferedReader reader = new BufferedReader(isr, 2048);
String line;
while ((line = reader.readLine()) != null) {
    sb.append(line);
    sb.append("\n");
}
reader.close();
is.close();
로켁 님이 2016년 11월 25일 질문

2개의 답변

0 추천

2048 빼세요...읽어올 버퍼의 크기를 지정하는 것입니다.

new BufferedReader(isr); 로하시면 됩니다.

 

https://developer.android.com/reference/java/io/BufferedReader.html

 

바램 (19,650 포인트) 님이 2016년 11월 25일 답변
답변 감사합니다. 그러나 원인은 파일 읽기가 아니라 읽은 내용을 화면에 뿌리는 부분에 있었습니다.
0 추천

자문 자답입니다. 

문제는 파일읽는 부분이 아니라 에디트텍스트에 뿌리는 부분에서 발생한 것입니다.

 

다음과 같이 해결하였습니다.

--------------------------------------------

InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(Integer.MAX_VALUE);
mEditText.setFilters(FilterArray);
로켁 님이 2016년 11월 28일 답변
...