Как я могу прочитать текстовый файл в Android?

Я хочу прочитать текст из текстового файла. В приведенном ниже коде возникает исключение (это означает, что оно переходит в блок catch ). Положил текстовый файл в папку приложения. Куда мне поместить этот текстовый файл (mani.txt), чтобы его правильно прочитать?

  попробуйте {InputStream instream = openFileInput ("E: \ test \ src    com  test  mani.txt ");  если (поток! = null) {InputStreamReader inputreader = новый InputStreamReader (поток);  BufferedReader buffreader = новый BufferedReader (inputreader);  Строка line, line1 = "";  попробуйте {while ((line = buffreader.readLine ())! = null) line1 + = line;  } catch (исключение e) {e.printStackTrace ();  }}} catch (Exception e) {String error = "";  error = e.getMessage ();  }  

Попробуйте следующее:

Я предполагаю, что ваш текстовый файл находится на SD-карте

 //Найти каталог для SD-карты с помощью API//* Не * hardcode "/sdcard" File sdcard = Environment.getExternalStorageDirectory ();//Получить текстовый файл File file = new File (sdcard,  "file.txt");//Считываем текст из fileStringBuilder text = new StringBuilder (); try {BufferedReader br = new BufferedReader (new FileReader (файл));  Строка строки;  в то время как ((строка = br.readLine ())! = ноль) {text.append (строка);  text.append (' п');  } br.close ();} catch (IOException e) {//Здесь вам нужно добавить правильную обработку ошибок}//Найти представление по его idTextView tv = (TextView) findViewById (R.id.text_view);//Установите texttv.setText (text.toString ());  

следующие ссылки также могут вам помочь:

Как я могу прочитать текстовый файл с SD-карты в Android?

Как читать текстовый файл в Android?

Android читает текстовый необработанный файл ресурсов


30

Если вы хотите прочитать файл с SD-карты. Тогда следующий код может быть вам полезен.

  StringBuilder text = new StringBuilder ();  попробуйте {файл sdcard = Environment.getExternalStorageDirectory ();  Файл файл = новый файл (SDCard, "testFile.txt");  BufferedReader br = новый BufferedReader (новый FileReader (файл));  Строка строки;  в то время как ((строка = br.readLine ())! = ноль) {text.append (строка);  Log.i ("Тест", "текст:" + текст + ": конец");  text.append (' п');  }} catch (IOException e) {e.printStackTrace ();  } наконец {br.close ();  } TextView tv = (TextView) findViewById (R.id.amount);  tv.setText (text.toString ()); ////Установить текст в текстовое представление.  }}  

Если вы хотите прочитать файл из папки ресурсов, тогда

  AssetManager am = context.getAssets (); InputStream is  = am.open ("test.txt");  

Или, если вы хотите прочитать этот файл из папки res/raw , где файл будет проиндексирован и доступен по идентификатору в файле R:

  InputStream is = getResources (). openRawResource (R.raw. контрольная работа);   

Хороший пример чтения текстового файла из папки res/raw

Поделиться
Улучшить этот ответ
отредактировано 22 января 2015 г. в 10:55
ответил 14 сен ’12 в 9:48
  • 2
    br выходит за рамки в блоке finally. — AlgoRythm 18 июн ’18 в 21:52
добавить комментарий |

Если вы хотите прочитать файл с SD-карты. Тогда следующий код может быть вам полезен.

  StringBuilder text = new StringBuilder ();  попробуйте {файл sdcard = Environment.getExternalStorageDirectory ();  Файл файл = новый файл (SDCard, "testFile.txt");  BufferedReader br = новый BufferedReader (новый FileReader (файл));  Строка строки;  в то время как ((строка = br.readLine ())! = ноль) {text.append (строка);  Log.i ("Тест", "текст:" + текст + ": конец");  text.append (' п');  }} catch (IOException e) {e.printStackTrace ();  } наконец {br.close ();  } TextView tv = (TextView) findViewById (R.id.amount);  tv.setText (text.toString ()); ////Установить текст в текстовое представление.  }}  

Если вы хотите прочитать файл из папки ресурсов, тогда

  AssetManager am = context.getAssets (); InputStream is  = am.open ("test.txt");  

Или, если вы хотите прочитать этот файл из папки res/raw , где файл будет проиндексирован и доступен по идентификатору в файле R:

  InputStream is = getResources (). openRawResource (R.raw.test);   

Хороший пример чтения текстового файла из папки res/raw


6

Поместите текстовый файл в папку Asset … и прочтите файл из этой папки …

см. ссылки ниже …

Android – Read file from Assets

http ://sree.cc/google/reading-text-file-from-assets-folder-in-android

Чтение простого текстового файла

надеюсь, что помогите …

Поделиться
Улучшите этот ответ
отредактировано 23 мая ’17 в 12:26
Сообщество ♦
111 серебряных значков
ответил 14 сен ’12 в 9:42
добавить комментарий |

Поместите текстовый файл в Актив Папка … и чтение файла из этой папки …

см. Ссылки ниже …

http://www.technotalkative.com/android- чтение-файл-из-активов/

http://sree.cc/google/reading-text-file-from-assets-folder-in-android

Чтение простого текстового файла

надеюсь, что это поможет …


4

Попробуйте этот код

  public static String pathRoot = "/sdcard/system/temp/"; public static String  readFromFile (контекст контекста, String nameFile) {String aBuffer = ""; попробуйте {File myFile = new File (pathRoot + nameFile); FileInputStream fIn = new FileInputStream (myFile); BufferedReader myReader = new BufferedReader (новый InputStreamReader (fIn));  Строка aDataRow = "  ";  в то время как ((aDataRow = myReader.readLine ())! = null) {aBuffer + = aDataRow;  } myReader.close ();  } catch (FileNotFoundException e) {e.printStackTrace ();  } catch (IOException e) {e.printStackTrace ();  } return aBuffer;}  

Поделиться
Улучшите этот ответ
отредактировано 29 ноября 2016 г. в 16:50
Massimiliano Kraus
3,13255 золотых знаков2020 серебряных знаков3737 бронзовых знаков
ответил 31 декабря 2015 г. в 8:39
добавить комментарий |

Попробуйте этот код

  public static String pathRoot = "/sdcard/system/ temp/"; общедоступная статическая строка readFromFile (контекст контекста, строка nameFile) {String aBuffer =" ";  попробуйте {File myFile = new File (pathRoot + nameFile);  FileInputStream fIn = новый FileInputStream (myFile);  BufferedReader myReader = новый BufferedReader (новый InputStreamReader (fIn));  Строка aDataRow = "";  в то время как ((aDataRow = myReader.readLine ())! = null) {aBuffer + = aDataRow;  } myReader.close ();  } catch (FileNotFoundException e) {e.printStackTrace ();  } catch (IOException e) {e.printStackTrace ();  } return aBuffer;}  

3

Сначала вы сохраняете текстовый файл в необработанной папке.

  private void loadWords () выбрасывает IOException {Log.d (TAG, "Загрузка слов ...");  final Resources resources = mHelperContext.getResources ();  InputStream inputStream = resources.openRawResource (R.raw. определения);  Читатель BufferedReader = новый BufferedReader (новый InputStreamReader (inputStream));  попробуйте {String line;  while ((line = reader.readLine ())! = null) {String [] strings = TextUtils.split (строка, "-");  если (strings.length  

Поделиться
Улучшить этот ответ
отредактировано 29 ноября 2016 г. в 16:15
Оле В.В.
59.8k99 золотых знаков8686 серебряных знаков106106 бронзовых знаков
ответил 14 сен ’12 в 9:49
добавить комментарий |

Сначала вы сохраняете текстовый файл в необработанной папке.

  private void loadWords  () выбрасывает IOException {Log.d (TAG, "Загрузка слов ...");  final Resources resources = mHelperContext.getResources ();  InputStream inputStream = resources.openRawResource (R.raw.definitions);  Читатель BufferedReader = новый BufferedReader (новый InputStreamReader (inputStream));  попробуйте {String line;  while ((line = reader.readLine ())! = null) {String [] strings = TextUtils.split (строка, "-");  если (strings.length  

1

Попробуйте это

  попробуйте {reader = new BufferedReader (new InputStreamReader (in, "UTF-8"));  } catch (UnsupportedEncodingException e1) {//TODO Автоматически сгенерированный блок catch e1.printStackTrace ();  } String line = "";  Строка s = "";  попробуйте {line = reader.readLine ();  } catch (IOException e) {e.printStackTrace ();  } пока (строка! = ноль) {s = s + строка;  s = s + " п";  попробуйте {line = reader.readLine ();  } catch (IOException e) {e.printStackTrace ();  }} tv.setText ("" + s);  }  

Поделиться
Улучшите этот ответ
ответил 27 февраля ’14 в 07:48
добавить комментарий |

Попробуйте это

  попробуйте {reader = new BufferedReader (new InputStreamReader (in, "UTF-8"));} catch (UnsupportedEncodingException e1) {//TODO Автоматически сгенерированный блок catch e1.printStackTrace ();} String line = ""; String  s = ""; попробуйте {line = reader.readLine ();} catch (IOException e) {e.printStackTrace ();} while (line! = null) {s = s + line; s = s + " n"  ; попробуйте {line = reader.readLine ();} catch (IOException e) {e.printStackTrace ();}} tv.setText ("" + s);}  

0

Кратчайшая форма для небольших текстовых файлов (в Kotlin):

  val reader = FileReader (путь) val txt = reader.readText () reader.close ()  

Поделиться
Улучшите это ответ
ответ дан 12 сен ’20 в 20: 07
добавить комментарий |

Кратчайшая форма для небольших текстовых файлов (в Kotlin):

  val reader =  FileReader (путь) val txt = reader.readText () reader.close ()  

Оцените статью
Botgadget.ru
Добавить комментарий