Подтвердить что ты не робот

Загрузите простой текстовый файл в Android Studio

Получил новый проект с использованием новой Android Studio IDE от Google.

Я пытаюсь загрузить простой текстовый файл с помощью InputStreamReader. Я получаю исключение, не найденное в файле. Теперь нет никаких активов/папок. Я попытался создать его и добавить свой файл в разных местах (в корне проекта, в корневом каталоге .java файла и т.д.). Я попытался переместить файл, но все равно получить файл не найдено.

Теперь, когда Eclipse никогда не возникало проблем, поскольку есть папка с ресурсами, созданная любым шаблоном.

Кто-нибудь знает, куда должны идти активы или как их загрузить?

Здесь используется код, он не работает на .open():

InputStream iS = resources.getAssets().open("bla.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(iS));

Я также пробовал этот код в Eclipse, он работает, и содержимое файла загружается. Таким образом, возможно, в Android Studio требуется шаг.

4b9b3361

Ответ 1

  • Шаг 1:           Открыть в файле Name_Project-Name_Project.iml.
  • См. строку:           option name= "ASSETS_FOLDER_RELATIVE_PATH" value = "/src/main/assets"
  • Шаг 2:           Создайте подпапки "активы" в основной папке.
  • Шаг 3:           Поместите файл в эту папку.
  • Шаг 4:           Загрузите его. Готово.

Ответ 2

Этот код будет работать для вас. Он будет извлекать все данные из файла.

public class Quiz extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_quiz);
    try {
        PlayWithRawFiles();
    } catch (IOException e) {
        Toast.makeText(getApplicationContext(),
                "Problems: " + e.getMessage(), Toast.LENGTH_LONG).show();
    }
}// onCreate

public void PlayWithRawFiles() throws IOException {
    String str="";
    StringBuffer buf = new StringBuffer();
    InputStream is = this.getResources().openRawResource(R.raw.ashraf);
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    if (is!=null) {
        while ((str = reader.readLine()) != null) {
            buf.append(str + "\n" );
        }
    }
    is.close();
   TextView tv=(TextView)findViewById(R.id.tv1);
    tv.setText(buf.toString());


}//
        }