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

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

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

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

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

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

Подскажите лучший способ хранения данных, чтение/запись файлов - Программирование Android
Добрый день. Пишу тренажер для обучению слов (англ-рус). Слова хранятся в файле .txt в виде "arrow | стрела \n..." Мне необходимо хранить...

Чтение и запись JSON файла - Программирование Android
Как прочитать и записать, точнее дописать в файл JSON данные? Файл лежит в assets (например, ex.json)

Запись и чтение класса в файл - Программирование Android
Необходимо реализовать очень простую задачу, но подходящего примера в инете так и не нашел. Пусть имеется класс: class MyClass{ int...

Чтение и запись данных в локальную БД SQLite - Программирование Android
Есть вот такой класс для работы локальной работы с БД. package com.tanatix.checkinternetresourceschanges; import...

Чтение и запись xml файла на SD-карту - Программирование Android
Мне нужно из БД сохранять определенную информацию в файл (это будет инфа пользователя), а потом загружать при необходимости. И таких файлов...

Чтение файлов из res в android studio - Программирование Android
Привет! Подскажите кто знает как мне прочитать например текстовый файл из папки res/raw/textnew.txt ? Недавно перешел на Android...

3
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
10.07.2016, 10:36 #2
Получить путь к флешке и все, пиши читай.
0
No4noylis
20 / 11 / 2
Регистрация: 09.01.2015
Сообщений: 40
10.07.2016, 10:56  [ТС] #3
Путь я научился получать. Но, что для этого использовать? openFilelnput() и openFileOutput() не подходят
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
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;
        }
    }
Там есть и другие полезные методы, если интересно, пиши в ЛС чтоб не флудить.
1
10.07.2016, 13:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2016, 13:23
Привет! Вот еще темы с ответами:

RSS парсер, чтение и последующая запись в объект не осуществляются - Программирование Android
При написании парсера произошел ступор:) Подскажите, что пошло не туда private ArrayList<Entry> readFeed(InputStream is) throws...

Как реализовать чтение txt файлов из папки по порядку? - Программирование Android
Здравствуйте!Как реализовать чтение txt файлов из папки по порядку? Т.е. к примеру у меня есть папка1 в папке assets.В этой папке1...

Запись Wav Файлов - Программирование Android
Привет, форумчане! Нет ли у кого-нибудь рабочего ( было бы круто если лаконичного!) решения записи WAVE файлов на андроиде) ...

Запись картинок и файлов во внутреннюю память - Программирование Android
Здравствуйте! Загружаю информацию через Jsoup в AsyncTask. Думаю сохранять её в файлы(что то вроде кэша). Уже имел дело с этим, но как...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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