File android

Работа с файловой системой

File android

Последнее обновление: 25.12.2020

Работа с настройками уровня activity и приложения позволяет сохранить небольшие данные отдельных типов (string, int), но для работы с большими массивами данных, такими как графически файлы, файлы мультимедиа и т.д., нам придется обращаться к файловой системе.

ОС Android построена на основе Linux. Этот факт находит свое отражение в работе с файлами. Так, в путях к файлам в качестве разграничителя в Linux использует слеш “/”, а не обратный слеш “\” (как в Windows). А все названия файлов и каталогов являются регистрозависимыми, то есть “data” это не то же самое, что и “Data”.

Приложение Android сохраняет свои данные в каталоге /data/data// и, как правило, относительно этого каталога будет идти работа.

Для работы с файлами абстрактный класс android.content.Context определяет ряд методов:

  • boolean deleteFile (String name): удаляет определенный файл
  • String[] fileList (): получает все файлы, которые содержатся в подкаталоге /files в каталоге приложения
  • File getCacheDir(): получает ссылку на подкаталог cache в каталоге приложения
  • File getDir(String dirName, int mode): получает ссылку на подкаталог в каталоге приложения, если такого подкаталога нет, то он создается
  • File getExternalCacheDir(): получает ссылку на папку /cache внешней файловой системы устройства
  • File getExternalFilesDir(String type): получает ссылку на каталог /files внешней файловой системы устройства
  • File getFileStreamPath(String filename): возвращает абсолютный путь к файлу в файловой системе
  • FileInputStream openFileInput(String filename): открывает файл для чтения
  • FileOutputStream openFileOutput (String name, int mode): открывает файл для записи

Все файлы, которые создаются и редактируются в приложении, как правило, хранятся в подкаталоге /files в каталоге приложения.

Для непосредственного чтения и записи файлов применяются также стандартные классы Java из пакета java.io.

Итак, применим функционал чтения-записи файлов в приложении. Пусть у нас будет следующая примитивная разметка layout:

Поле EditText предназначено для ввода текста, а TextView – для вывода ранее сохраненного текста. Для сохранения и восстановления текста добавлены две кнопки.

Теперь в коде Activity пропишем обработчики кнопок с сохранением и чтением файла:

package com.example.filesapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class MainActivity extends AppCompatActivity { private final static String FILE_NAME = “content.txt”; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // сохранение файла public void saveText(View view){ FileOutputStream fos = null; try { EditText textBox = (EditText) findViewById(R.id.editor); String text = textBox.getText().toString(); fos = openFileOutput(FILE_NAME, MODE_PRIVATE); fos.write(text.getBytes()); Toast.makeText(this, “Файл сохранен”, Toast.LENGTH_SHORT).show(); } catch(IOException ex) { Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } finally{ try{ if(fos!=null) fos.close(); } catch(IOException ex){ Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } } } // открытие файла public void openText(View view){ FileInputStream fin = null; TextView textView = (TextView) findViewById(R.id.text); try { fin = openFileInput(FILE_NAME); byte[] bytes = new byte[fin.available()]; fin.read(bytes); String text = new String (bytes); textView.setText(text); } catch(IOException ex) { Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } finally{ try{ if(fin!=null) fin.close(); } catch(IOException ex){ Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } } } }

При нажатии на кнопку сохранения будет создаваться поток вывода FileOutputStream fos = openFileOutput(FILE_NAME, MODE_PRIVATE)

В данном случае введенный текст будет сохраняться в файл “content.txt”. При этом будет использоваться режим MODE_PRIVATE

Система позволяет создавать файлы с двумя разными режимами:

  • MODE_PRIVATE: файлы могут быть доступны только владельцу приложения (режим по умолчанию)
  • MODE_APPEND: данные могут быть добавлены в конец файла

Поэтому в данном случае если файл “content.txt” уже существует, то он будет перезаписан. Если же нам надо было дописать файл, тогда надо было бы использовать режим MODE_APPEND:

FileOutputStream fos = openFileOutput(FILE_NAME, MODE_APPEND);

Для чтения файла применяется поток ввода FileInputStream:

FileInputStream fin = openFileInput(FILE_NAME);

Подробнее про использование потоков ввода-вывода можно прочитать в руководстве по Java: https://metanit.com/java/tutorial/6.3.php

В итоге после нажатия кнопки сохранения весь текст будет сохранен в файле /data/data/название_пакета/files/content.txt

Где физически находится созданный файл? Чтобы увидеть его на подключенном устройстве перейдем в Android Stud в меню к пункту View -> Tool Windows -> Device File Explorer

После этого откроектся окно Device File Explorer для просмотра файловой системы устройства. И в папке data/data/[название_пакета_приложения]/files мы сможем найти сохраненный файл.

Источник: https://metanit.com/java/android/13.1.php

Урок 75. Хранение данных. Работа с файлами

File android

В этом уроке:

– работаем с файлами

Работа с файлами в Android не сильно отличается от таковой в Java. В этом уроке рассмотрим, как записать/прочесть файл во внутреннюю память и на SD-карту.

Создадим проект:

Project name: P0751_Files
Build Target: Android 2.3.3
Application name: Files
Package name: ru.startandroid.develop.p0751files
Create Activity: MainActivity

Заполним strings.xml:

P0751_Files Записать файл Прочесть файл Записать файл на SD Прочесть файл с SD

Рисуем экран main.xml:

4 кнопки, смысл которых понятен по тексту на них.

MainActivity.java:

package ru.startandroid.develop.p0751files; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; public class MainActivity extends Activity { final String LOG_TAG = “myLogs”; final String FILENAME = “file”; final String DIR_SD = “MyFiles”; final String FILENAME_SD = “fileSD”; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onclick(View v) { switch (v.getId()) { case R.id.btnWrite: writeFile(); break; case R.id.btnRead: readFile(); break; case R.id.btnWriteSD: writeFileSD(); break; case R.id.btnReadSD: readFileSD(); break; } } void writeFile() { try { // отрываем поток для записи BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( openFileOutput(FILENAME, MODE_PRIVATE))); // пишем данные bw.write(“Содержимое файла”); // закрываем поток bw.close(); Log.d(LOG_TAG, “Файл записан”); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } void readFile() { try { // открываем поток для чтения BufferedReader br = new BufferedReader(new InputStreamReader( openFileInput(FILENAME))); String str = “”; // читаем содержимое while ((str = br.readLine()) != null) { Log.d(LOG_TAG, str); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } void writeFileSD() { // проверяем доступность SD if (!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { Log.d(LOG_TAG, “SD-карта не доступна: ” + Environment.getExternalStorageState()); return; } // получаем путь к SD File sdPath = Environment.getExternalStorageDirectory(); // добавляем свой каталог к пути sdPath = new File(sdPath.getAbsolutePath() + “/” + DIR_SD); // создаем каталог sdPath.mkdirs(); // формируем объект File, который содержит путь к файлу File sdFile = new File(sdPath, FILENAME_SD); try { // открываем поток для записи BufferedWriter bw = new BufferedWriter(new FileWriter(sdFile)); // пишем данные bw.write(“Содержимое файла на SD”); // закрываем поток bw.close(); Log.d(LOG_TAG, “Файл записан на SD: ” + sdFile.getAbsolutePath()); } catch (IOException e) { e.printStackTrace(); } } void readFileSD() { // проверяем доступность SD if (!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { Log.d(LOG_TAG, “SD-карта не доступна: ” + Environment.getExternalStorageState()); return; } // получаем путь к SD File sdPath = Environment.getExternalStorageDirectory(); // добавляем свой каталог к пути sdPath = new File(sdPath.getAbsolutePath() + “/” + DIR_SD); // формируем объект File, который содержит путь к файлу File sdFile = new File(sdPath, FILENAME_SD); try { // открываем поток для чтения BufferedReader br = new BufferedReader(new FileReader(sdFile)); String str = “”; // читаем содержимое while ((str = br.readLine()) != null) { Log.d(LOG_TAG, str); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

В onclick обрабатываем нажатия 4-х кнопок и вызываем соответствующие методы.

writeFile – запись файла во внутреннюю память. Используется метод openFileOutput, который на вход берет имя файла и режим записи: MODE_PRIVATE – файл доступен только этому приложению, MODE_WORLD_READABLE – файл доступен для чтения всем, MODE_WORLD_WRITEABLE – файл доступен для записи всем, MODE_APPEND – файл будет дописан, а не начат заново.

readFile – чтение файла из внутренней памяти. Используем метод openFileInput, принимающий на вход имя файла. Здесь и в методе записи внутреннего файла вы можете задать только имя файла, а каталог для ваших файлов вам уже выделен.

writeFileSD – запись файла на SD. Используем метод getExternalStorageState для получения состояния SD-карты. Здесь можно посмотреть какие бывают состояния. Нам нужно MEDIA_MOUNTED – когда SD-карта вставлена и готова к работе. Далее мы получаем путь к SD-карте (метод getExternalStorageDirectory), добавляем свой каталог и имя файла, создаем каталог и пишем данные в файл.

readFileSD – чтение файла с SD. Все аналогично предыдущему методу, только файл не пишем, а читаем.

Осталось в манифест добавить разрешение на работу с файлами на SD – android.permission.WRITE_EXTERNAL_STORAGE.

Все сохраним и запустим. Видим экран с 4-мя кнопками:

Внутренняя память

Жмем кнопку Записать файл.  Видим в логе:

Файл записан

Проверим. Идем в File Explorer (Window > Show View > Other > Android > File Explorer) и открываем там папку data/data/ru.startandroid.develop.p0751files/files и видим там наш файл file.

Возвращаемся в эмулятор. Жмем Прочесть файл и в логе видим:

Содержимое файла

Это тот текст, который мы записывали в файл.

SD карта

Теперь жмем Записать файл на SD.

В логе видим:

Файл записан на SD: /mnt/sdcard/MyFiles/fileSD

Проверяем. Идем в FileExplorer и открываем там папку mnt/sdcard/MyFiles/ а в ней файл fileSD.

Возвращаемся в эмулятор и жмем кнопку Прочесть файл с SD. В логе видим:

Содержимое файла на SD

Этот текст мы и записывали.

mnt/sdcard – обычно этот путь ведет к содержимому SD-карты. Возможно у вас он будет другой.

В общем, при работе с файлами на SD вы используете стандартные java механизмы. А при работе с внутренним хранилищем для удобства можно использовать методы-оболочки от Activity:

openFileOutput – открыть файл на запись

openFileInput – открыть файл на чтение

deleteFile – удалить файл

И есть метод getFilesDir – возвращает объект File, соответствующий каталогу для файлов вашей программы. Используйте его, чтобы работать напрямую, без методов-оболочек.

Подробности работы в java с файловой системой я здесь описывать не буду. На нашем форуме пользователь SKR сделал отличную памятку по работе с файлами. Скорее всего, вы найдете там все что нужно.

Если у вас проверка SD-карты показывает, что карта недоступна (см. лог), то убедитесь в свойствах AVD, что у вас для SDCard указан Size или File. Если указаны, то попробуйте перезапустить AVD.

На следующем уроке:

– создаем экран с вкладками – используем иконку в названии вкладки

– используем обработчик перехода между вкладками

Источник: https://startandroid.ru/ru/uroki/vse-uroki-spiskom/138-urok-75-hranenie-dannyh-rabota-s-fajlami.html

Топ-7 бесплатных файл-менеджеров для Android

File android

Одна из лучших особенностей Android — это возможность быстро и легко перемещаться по файловой системе вашего устройства.

Но какое приложение для этого использовать? «Файлы» от Google входят в состав чистого Android, многие производители добавляют собственные программы для работы с файлами.

Помимо этого, существует множество вариантов от сторонних разработчиков. Давайте рассмотрим семь самых интересных вариантов.

Total Commander

Total Commander, без сомнения, будет знаком многим пользователям настольных компьютеров — приложение было популярным сторонним менеджером файлов для Windows с момента первоначального запускав в 1993 году (ранее он назывался Windows Commander).

Приложение оснащается очень хорошим набором инструментов навигации, помимо обычных вырезать, копировать и вставить. Например, имеется поддержка закладок и упаковки файлов. Помимо этого, имеется возможность добавлять настраиваемые кнопки на панель инструментов. Не забудьте подписаться на канал нашего техноблога в Telegram — https://t.me/appdatemedia.

Возможности Total Commander позволяют копировать и перемещать целых подкаталогов и включают текстовый редактор, способ передачи файлов по Bluetooth, поддержку ZIP-файлов и плагинов для клиентов FTP / SFTP, WebDAV и доступ по локальной сети.

Google Files

С недавних пор это родной файл-менеджера чистого Android. Он оснащен тремя основными функциями: просмотр файлов, очистка от ненужных и старых файлов, а также возможность обмениваться зашифрованными файлами и папками с друзьями и близкими без подключения к интернету.

Раздел приложения для управления файлами не так «богат», как другие, например, вы не можете перемещаться по корневых каталогам.

Вместо продвинутых функций, программа разрабатывалась с учетом простоты использования для обычных пользователей. Ваш контент будет разделен на шесть категорий («Загрузки», «Изображения», «», «», «Документы», «Приложения»).

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

X-plore

X-plore File Manager может выглядеть как программа Windows начала 1990-х годов, но он является одним из лучших бесплатных файл-менеджеров. Разработчики при его создании поставили на первое место функциональность, а не дизайн. Его основной особенностью является двухпанельный интерфейс. Таким образом вы можете с легкостью перемещать файлы по каталогам.

Приложение поддерживает Google Drive, Dropbox, Box, Amazon Cloud Drive, OneDrive, WebDAV, MediaFire и многие другие. Помимо этого вы сможете воспользоваться протоколами FTP, SMB, SQLite, ZIP, RAR, 7-Zip и DLNA / UPnP.

X-plore позволит вам просматривать системные файлы без рутирования устройства, но отредактировать их в таком случае не получится. Также имеется встроенные аудио и видео проигрыватель.

FX File Explorer

FX File Explorer — отличный выбор для пользователей, которые ценят конфиденциальность. Он абсолютно бесплатен и без рекламы, отслеживания и сбора данных. Приложения запрашивает некоторые разрешения после установки, но они не являются обязательными и предусмотрены для работы некоторых дополнительных функций.

Приложение поддерживает «из коробки» работу с внешними носителями и возможности root, но вам придется доплатить за расширенные сетевые функции такие как FTP, SFTP, SMB, WebDAV и поддержку облачных сервисов, среди которых Dropbox, Google Drive, SkyDrive, Box и SugarSync.

FX File Explorer также оснащен мощными возможностями обмена файлами. Вы сможете делиться ими по Wi-Fi, причем необходимость в точке доступа отсутствует, поскольку приложение поддерживает Wi-Fi Direct.

Solid Explorer

Да, мы помним, что это топ бесплатных приложений. Тем не менее Solid Explorer — один из немногих файл-менеджеров, который действительно стоит своих денег. Он использует тот же двухпанельный интерфейс, что и в -plore. Однако, в отличие от него, он может похвастаться отличным дизайном, который отвечает всем стандартам Google Material Design.

Вы можете перетаскивать панели между собой, тем самым упрощая организацию управления файлами. Поддерживаются внешние хранилища, а также различные протоколы и форматы, такие как FTP, SFTP, WebDav, ZIP, TAR и RAR.

Приложение также позволяет подключать облачные хранилища Google Drive, OneDrive, Box, Dropbox и многое другое.

Помимо этого, Solid Explorer предлагает расширять функциональность с помощью плагинов, индексированный поиск и статистику накопителей.

Astro

Файловый менеджер Astro вышел за рамки своей первоначальной цели. Сегодня это больше, чем файловый менеджер — приложение также включает в себя очистку хранилища и инструмент резервного копирования.

Интерфейс приложения интуитивно понятен. Быстрая и простая пошаговая навигация между внутренней памятью, внешним накопителем и другим контентом. Возможности приложения включают синхронизацию Box, Dropbox, OneDrive и Google Drive и простое управление кэшем. Помимо управления файлами, особенно полезны функции управления процессами и картой памяти microSD.

Amaze File Manager

Amaze File Manager — единственный в нашем списке файловый менеджер Android с открытым исходным кодом. Он использует подход с вкладками, позволяя вам работать с несколькими папками одновременно.

Другие полезные функции включают диспетчер приложений, обозреватель корневых каталогов, шифрование файлов AES, историю, закладки и мощный инструмент поиска. Помимо этого, «из коробки» вам будут доступны возможность просмотра ZIP-файлов, APK-ридер и просмотрщик текстовых файлов.

Послесловие

Теперь у вас есть довольно большой выбор инструментов для управления файлами на вашем Android-устройстве. Приложения для просмотра файлов — это всего лишь один из многих инструментов для повышения производительности, которые вам понадобятся.

Наш канал в Telegram

Источник: https://zen.yandex.ru/media/thexframe/top7-besplatnyh-failmenedjerov-dlia-android-5f16fa8e74965564410e3e13

Файл в ОС Android. Операции чтения и записи

File android

Операции чтения и записи в файл являются стандартным функционалом любых приложений, которые ведут журналирование событий, работу с файлами, вплоть до передачи данных по сети. В данной статье рассмотрим методы записи в файлы информации и чтения из файла записанной строки.

Структура проекта

Эстетических изменений стандартных кнопок или ListView в данном уроке производиться не будет, поскольку мы будем работать с тем, что скрыто от глаз пользователя, а именно работать с файлами.

Вся структура проекта соответственно состоит на этот раз лишь из одного класса: MainActivity

Также в проекте присутствуют следующие файлы ресурсов:

  1. activity_main.xml
  2. strings.xml
  3. styles.xml – в данном файле отсутствуют какие-либо изменения относящиеся к проекту.

Кроме этого внесены изменения в файл AndroidManifest.xml. В файле необходимо добавить следующие две строки.

Это разрешения для приложения – производить операции чтения и записи с внешним накопителем (то есть SD Card телефона) В современным смартфонах на базе ОС Android в большинстве случаев запись информации производится во внешний накопитель, хотя обычный пользователь считает этот накопитель внутренним, поскольку он является встроенным, но с точки зрения операционной систем данный накопитель (то есть SD Card) является внешним накопителем. В данной статье не будет рассматриваться вариант работы с истинно внутренним накопителем.

activity_main.xml

Разметка основной активити, в которой будет производиться работа нашего приложения. В данной разметке присутствует всего две кнопки (Button) и текстовое поле (TextView), в которое мы будем выводить информацию сохранённую в файле.

strings.xml

Файл ресурсов текста в ОС Android. Подготовка всех строк, которые применяются в Вашем Приложении в данном файле, является не только хорошим тоном, но обязательным условием для разработки качественного Приложения.

Поскольку, если вы будете дисциплинировать себя, сохранять всю подобную информацию в данном файле, то впоследствии это окупится, когда вы будете производить перевод Приложения на другие языки.

Тем более, что в Android Studio имеется удобный функционал для этого.

Work With Files Hello world! Settings Запись выполнена Записать данные в файл Считать данные из файла

styles.xml

В данном файле нет изменений относящихся к проекту. Но при создании проекта стандартная тема оформления не рендерится Android Studio. Выдается ошибки при предпросмотре и в режиме дизайна. Чтобы этого избежать, пропишите следующую информацию взамен старой.

Основной класс проекта – MainActivity.java

Сегодня в данном классе сконцентрирован весь программный код. В данном классе производится формирование внешнего вида главной активити, а также организуется работа с файлами.

package ru.evileg.workwithfiles; import android.os.Bundle; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class MainActivity extends AppCompatActivity implements View.OnClickListener { /* * Создаем постоянные константы для удобства работы, * объявляем TextView, который должен быть доступен в нескольких методах класса */ private static final String fileName = “hello.txt”; private static final String text = “Hello World”; private static TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* * Объявляем и инциализируем Кнопки (Button), * а также инициализируем TextView * Также в активити имплементирован метод слушателя событий нажатия, * то есть OnClickListener, который привязывается к кнопкам */ textView = (TextView) this.findViewById(R.id.textView); Button buttonWrite = (Button) this.findViewById(R.id.buttonWrite); Button buttonRead = (Button) this.findViewById(R.id.buttonRead); buttonWrite.setOnClickListener(this); buttonRead.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } /* * Обработчик нажатий кнопок. Нажатая кнопка определяется по её ID через метод getID() */ @Override public void onClick(View v) { switch (v.getId()){ case R.id.buttonWrite: writeFile(); break; case R.id.buttonRead: readFile(); break; default: break; } } private void writeFile() { try { /* * Создается объект файла, при этом путь к файлу находиться методом класcа Environment * Обращение идёт, как и было сказано выше к внешнему накопителю */ File myFile = new File(Environment.getExternalStorageDirectory().toString() + “/” + fileName); myFile.createNewFile(); // Создается файл, если он не был создан FileOutputStream outputStream = new FileOutputStream(myFile); // После чего создаем поток для записи outputStream.write(text.getBytes()); // и производим непосредственно запись outputStream.close(); /* * Вызов сообщения Toast не относится к теме. * Просто для удобства визуального контроля исполнения метода в приложении */ Toast.makeText(this, R.string.write_done, Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } } private void readFile() { /* * Аналогично создается объект файла */ File myFile = new File(Environment.getExternalStorageDirectory().toString() + “/” + fileName); try { FileInputStream inputStream = new FileInputStream(myFile); /* * Буфферезируем данные из выходного потока файла */ BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); /* * Класс для создания строк из последовательностей символов */ StringBuilder stringBuilder = new StringBuilder(); String line; try { /* * Производим построчное считывание данных из файла в конструктор строки, * Псоле того, как данные закончились, производим вывод текста в TextView */ while ((line = bufferedReader.readLine()) != null){ stringBuilder.append(line); } textView.setText(stringBuilder); } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } } }

Итог

Если в процессе изучения материала не возникло никаких проблем и ошибок, то по нажатию кнопки записи в файл произойдет создание нового файла и будет произведена запись строки “Hello World”. При нажатии кнопки чтения будет выведена информация сохранённая в текстовом файле. Процесс показан на скриншотах ниже.

По нажатию кнопки производится запись в файл информации

Запись в файл

Чтение из файла производится по нажатию соответствующей кнопки. При этом в TextView выводится текст

Созданный файл hello.txt в файловом менеджере

Источник: https://evileg.com/ru/post/230/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.