Замена устаревшего метода Java

У меня есть несколько вызовов, в которых используются устаревшие методы, например

org.apache.commons.io.FileUtils.readFileToString(File file)

org.apache.commons.io.IOUtils.toString(InputStream input)
org.apache.commons.io.IOUtils.toInputStream(String input)

Теперь я знаю, что эти методы устарели и какими методами их заменить, например

readFileToString(final File file, final Charset encoding)

Разница в том, что мне нужно указать кодировку.

Теперь, поскольку моя основная цель - сохранить поведение при удалении старых методов, даже если это означает сохранение ошибок / странностей, я хочу вызвать новый метод, чтобы он работал так же, как старый. Чтение документации Javadoc для нового метода показывает

* @param encoding the encoding to use, {@code null} means platform default

Я предполагаю, что если я пройду мимо nullв качестве параметра кодирования для нового метода он будет вести себя так же, как и старый. Это означало бы, что старый метод всегда использовал платформу по умолчанию. Но есть ли способ это проверить?

2 ответа

Решение

Как и ожидалось, он использовал кодировку по умолчанию, readFileToString:

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

И IOUtils.toString:

Получает содержимое байта [] в виде строки с использованием кодировки символов по умолчанию платформы.

Как говорится в документации Apache Common-io:

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

Другие вопросы по тегам