Замена устаревшего метода 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:
Считывает содержимое файла в строку, используя кодировку по умолчанию для виртуальной машины. Файл всегда закрыт.
Получает содержимое байта [] в виде строки с использованием кодировки символов по умолчанию платформы.
Как говорится в документации Apache Common-io:
Считывает содержимое файла в строку, используя кодировку по умолчанию для виртуальной машины. Файл всегда закрыт.