Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
No4noylis
 Аватар для No4noylis
20 / 11 / 2
Регистрация: 09.01.2015
Сообщений: 40
#1

Чтение и запись внешних файлов - Android

09.07.2016, 23:31. Просмотров 200. Ответов 3
Метки нет (Все метки)

Добрый вечер! Интересует вопрос, как реализовать в приложении через Android studio чтение и запись текстовых файлов, которые находятся не в каталоге приложения.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2016, 23:31     Чтение и запись внешних файлов
Посмотрите здесь:

Android Подключение внешних библиотек
проект и использование внешних библиотек Android
Чтение и запись JSON файла Android
Запись Wav Файлов Android
Подскажите лучший способ хранения данных, чтение/запись файлов Android
Android RSS парсер, чтение и последующая запись в объект не осуществляются
Android Как реализовать чтение txt файлов из папки по порядку?
Android Запись и чтение класса в файл
Android Чтение и запись xml файла на SD-карту
Android Запись картинок и файлов во внутреннюю память
Чтение файлов из res в android studio Android
Чтение и запись данных в локальную БД SQLite Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OlegJV
 Аватар для OlegJV
101 / 101 / 29
Регистрация: 13.03.2016
Сообщений: 470
10.07.2016, 10:36     Чтение и запись внешних файлов #2
Получить путь к флешке и все, пиши читай.
No4noylis
 Аватар для No4noylis
20 / 11 / 2
Регистрация: 09.01.2015
Сообщений: 40
10.07.2016, 10:56  [ТС]     Чтение и запись внешних файлов #3
Путь я научился получать. Но, что для этого использовать? openFilelnput() и openFileOutput() не подходят
OlegJV
 Аватар для OlegJV
101 / 101 / 29
Регистрация: 13.03.2016
Сообщений: 470
10.07.2016, 13:23     Чтение и запись внешних файлов #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я обычно использую для файловых операций отдельный класс с такими методами:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static boolean writeExternal(InputStream is, String path) {
        Log.e("FM", "writeExternal " + path);
        if (!isExternalAvailable()) return false;
        File dest = new File(EXT_DIR.getAbsolutePath() + "/" + path);
        FileOutputStream writer = null;
        try {
            if (!dest.exists()) {
                dest.getParentFile().mkdirs();
                dest.createNewFile();
            }
            writer = new FileOutputStream(dest);
            writeFromInputToOutput(is, writer);
            return true;
        }
        catch (IOException e) {
            Log.e("FM", "ERROR " + e);
            return false;
        }
        finally {
            close(writer);
        }
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static int writeFromInputToOutput(InputStream is, OutputStream os) {
 
        byte[] buffer = new byte[BUFFER_SIZE];
        int bytesRead = EOF_MARK;
        int count = 0;
        try {
            while ((bytesRead = is.read(buffer)) != EOF_MARK) {
                os.write(buffer, 0, bytesRead);
                count += bytesRead;
            }
        }
        catch (IOException e) {
            return -1;
        }
        return count;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public static InputStream readExternal(String path) {
        if (!isExternalAvailable()) return null;
        File source = new File(EXT_DIR.getAbsolutePath() + "/" + path);
        InputStream is = null;
        if (source.exists()) {
            try {
                is = new FileInputStream(source);
            }
            catch (FileNotFoundException e) {
                return null;
            }
        }
        return is;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public static boolean close(Closeable closeable) {
        if (closeable != null) {
            try {
                closeable.close();
                return true;
            }
            catch (IOException e) {
                // e.printStackTrace();
                return false;
            }
        }
        else {
            return false;
        }
    }
Там есть и другие полезные методы, если интересно, пиши в ЛС чтоб не флудить.
Yandex
Объявления
10.07.2016, 13:23     Чтение и запись внешних файлов
Ответ Создать тему
Опции темы

Текущее время: 08:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru