2012-03-26 8 views
1

파일에서 임의의 행을 읽으려고합니다. 내 코드에는 오류가 없으며 에뮬레이터에서 실행되는 즉시 강제 종료됩니다. 이유는 없습니다.android에서 텍스트 파일을 읽는 중

public class filereader extends Activity { 
    TextView t = (TextView)findViewById(R.id.text); 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
} 

Scanner s = new Scanner(getResources().openRawResource(R.raw.lev1)); { 

    try { 
     while (s.hasNext()) { 
      String word = s.next(); 
      t.setText(word); 
     } 
    } 
    finally { 
     s.close(); 
    } 
} 

}

+0

android logcat을 확인하십시오. 예외가 있어야합니다. –

+0

클래스가 없습니다 ..라는 메시지가 나타납니다. –

답변

2

텍스트 뷰의 t = (텍스트 뷰) findViewById를 (R.id.text);

setContentView가 호출 될 때까지 당신은 findViewById를 실행할 수 없습니다 :

TextView t = null; @Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    t = (TextView)findViewById(R.id.text); 
} 

당신이 main.xml

2

내부 text

BufferedReader myReader = null; 
    try 
    { 
     fIn = openFileInput("customer_number.txt");   
     myReader = new BufferedReader(new InputStreamReader(fIn)); 
    } 
    catch (FileNotFoundException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    String aDataRow = ""; 
    //String aBuffer = ""; 
    try 
    { 
     while ((aDataRow = myReader.readLine()) != null) { 
      aBuffer += aDataRow + "\n"; 
      // TO display Whole Data of File 
      Toast.makeText(getBaseContext(),aBuffer,Toast.LENGTH_SHORT).show(); 

    } 
     // To display Last Entered Number 
     Toast.makeText(getBaseContext(),last_number,Toast.LENGTH_SHORT).show(); 

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

'printStackTrace()'에 +1하면 * "내 코드에 오류가 없습니다"*가 올바른지 확인할 수 있습니다! –

0
public void readfromfile(){ 
    try { 
     FileInputStream fileIn=openFileInput("mytextfile.txt"); 
     InputStreamReader InputRead= new InputStreamReader(fileIn); 
     char[] inputBuffer= new char[READ_BLOCK_SIZE]; 
     int charRead; 

     while ((charRead=InputRead.read(inputBuffer))>0) { 
      // char to string conversion 
      String readstring=String.copyValueOf(inputBuffer,0,charRead); 
      String s +=readstring; 
     } 
     InputRead.close(); 
     Toast.makeText(getBaseContext(), s,Toast.LENGTH_SHORT).show(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
을 선언 있는지 확인하십시오

"mytext.txt"문자열을 문자열로 읽은 다음 문자열 변수 s에 추가하여 저장합니다. 따라서 변수 "s"는 파일에서 가져온 최종 문자열을 포함합니다.

관련 문제