替换弃用的 Java 方法

Replacing deprecated Java method

我有多个调用使用了已弃用的方法,例如

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

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

现在,我知道这些方法是 deprecated 以及用哪些方法替换它们,例如

readFileToString(final File file, final Charset encoding)

区别在于我必须指定编码。

现在,因为我的主要目标是在删除旧方法的同时保留行为,即使这意味着保留 bugs/oddities,我想调用新方法,使其像旧方法一样工作。 阅读新方法的 Javadoc 揭示

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

我现在的假设是,如果我将 null 作为编码参数传递给新方法,它的行为将与旧方法一样。这意味着旧方法总是使用平台默认值。但是有办法检查吗?

正如预期的那样,它使用了默认编码,readFileToString:

Reads the contents of a file into a String using the default encoding for the VM. The file is always closed.

IOUtils.toString

Gets the contents of a byte[] as a String using the default character encoding of the platform.

喜欢Apache Common-io documentation 说:

Reads the contents of a file into a String using the default encoding for the VM. The file is always closed.