Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
No4noylis
21 / 12 / 2
Регистрация: 09.01.2015
Сообщений: 40
1

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

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

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

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

Чтение и запись в файлы
Нашел вот такую статью https://metanit.com/java/android/13.1.php. Мне нужно открыть и отпарсить...

Чтение и запись в файл
Люди, помогите пожалуйста разобраться. Есть компилятор на Андроид, и есть такой вот код: ...

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

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

3
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
10.07.2016, 10:36 2
Получить путь к флешке и все, пиши читай.
0
No4noylis
21 / 12 / 2
Регистрация: 09.01.2015
Сообщений: 40
10.07.2016, 10:56  [ТС] 3
Путь я научился получать. Но, что для этого использовать? openFilelnput() и openFileOutput() не подходят
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
10.07.2016, 13:23 4
Лучший ответ Сообщение было отмечено No4noylis как решение

Решение

Я обычно использую для файловых операций отдельный класс с такими методами:

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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2016, 13:23

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

Чтение и запись данных в локальную БД SQLite
Есть вот такой класс для работы локальной работы с БД. package...

Запись и чтение файлов
Есть задача, имеются бинарные файл А и В, в А первые 10 чисел положительные, другие 10...


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

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

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