Чтение из текстового файла в Android - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь прочитать случайную строку из файла.В моем коде нет ошибки, просто появляется принудительное закрытие, как только он запускается в эмуляторе, и я не могу понять, почему!

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(); 
    } 
}

}

Ответы [ 3 ]

2 голосов
/ 26 марта 2012

сделать это

    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();
    }   
2 голосов
/ 26 марта 2012

TextView t = (TextView) findViewById (R.id.text);

вы не можете запустить findViewById, пока не будет вызван setContentView:

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

пожалуйста, убедитесь, что вы объявляете text внутри main.xml

0 голосов
/ 03 марта 2015
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" содержит окончательную строку, взятую из файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...