Замена устаревшего метода Java - PullRequest
1 голос
/ 15 октября 2019

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

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 ]

2 голосов
/ 15 октября 2019

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

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

И IOUtils.toString :

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

1 голос
/ 15 октября 2019

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

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

...