deprecated метод при записи файла, чем заменять?

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Скфыр
Сообщения: 1
Зарегистрирован: 15 апр 2021, 16:14

deprecated метод при записи файла, чем заменять?

Сообщение Скфыр » 15 апр 2021, 16:21

Здравствуйте! Я совсем новичок, вот как раз только что разбирал урок с записью файлов. Там есть функция WriteFileSD и есть метод "

Код: Выделить всё

Environment.getExternalStorageDirectory()
;" Так вот андройд студия ругается и говорит, что этот метод теперь deprecated. Вот не могли бы вы друзья помочь и с посоветовать чем его заменить? Я читал, что в последних версиях API вроде как есть изменения при работе с файлами... Но я мало что понял, поэтому и прочитал этот урок.

Код: Выделить всё

 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();
        }
    }

Ответить