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

아... txt파일 에 한글이 있으면 못 읽어오나요?

0 추천
String txtData = "";
  String line = "";
  StringBuilder sb = null;
  
  try {
   File file = new File("경로 + txtData.txt");
   
   FileInputStream fis = new FileInputStream(file);
   InputStreamReader isr = new InputStreamReader(fis,"euc-kr");
   BufferedReader br = new BufferedReader(isr);   
   while ((line = br.readLine()) != null) {
    sb.append(line+ " ");
   }
   br.close();
   isr.close();
   fis.close();
   txtData = sb.toString();

이렇게 소스를 사용했는데 에러가 나네요..

03-19 11:55:09.752: E/AndroidRuntime(2768): FATAL EXCEPTION: main
03-19 11:55:09.752: E/AndroidRuntime(2768): java.lang.NullPointerException
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.exam.v2test.MainActivity.showEtc(MainActivity.java:205)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.exam.v2test.MainActivity.onOptionsItemSelected(MainActivity.java:178)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.app.Activity.onMenuItemSelected(Activity.java:2611)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1062)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:156)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.widget.AdapterView.performItemClick(AdapterView.java:301)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.widget.AbsListView.performItemClick(AbsListView.java:1287)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:3078)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.widget.AbsListView$1.run(AbsListView.java:4161)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.os.Handler.handleCallback(Handler.java:615)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.os.Handler.dispatchMessage(Handler.java:92)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.os.Looper.loop(Looper.java:137)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at android.app.ActivityThread.main(ActivityThread.java:4921)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at java.lang.reflect.Method.invokeNative(Native Method)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at java.lang.reflect.Method.invoke(Method.java:511)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
03-19 11:55:09.752: E/AndroidRuntime(2768):  at dalvik.system.NativeStart.main(Native Method)
 

왜 에러가 나는건지 모르겠네요..

InputStreamReader 에서 인코딩해서 읽은다음 Buffer로 넘기고..했는데..
시험모드 (970 포인트) 님이 2013년 3월 19일 질문

1개의 답변

0 추천
 
채택된 답변
StringBuilder 객체인 sb가 null인데요.

StringBuilder sb = null; 이 부분을

StringBuilder sb = new StringBuilder(); 로 고쳐보세요.
원조안드로이드 (58,190 포인트) 님이 2013년 3월 19일 답변
시험모드님이 2013년 3월 19일 채택됨
하하... 이거였군요 ;;;
감사합니다. 이제 잘 나오네요 ㅎㅎ
...