【发布时间】:2019-10-15 11:35:04
【问题描述】:
我有多个使用过时方法的调用,例如
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)
不同之处在于我必须指定编码。
现在,因为我的主要目标是在删除旧方法的同时保留行为,即使这意味着保留错误/怪异,我想调用新方法,使其与旧方法一样工作。 阅读新方法的 Javadoc 会发现
* @param encoding the encoding to use, {@code null} means platform default
我现在的假设是,如果我将null 作为编码参数传递给新方法,它的行为将与旧方法一样。这意味着旧方法始终使用平台默认值。但是有没有办法检查呢?
【问题讨论】:
-
写个测试,应该是绿色的,重构后应该还是绿色的。
-
该库是开源的,大多数 IDE 都可以为您下载源 JAR。如果文档中的内容不够清楚,只需检查旧方法的代码即可。
标签: java character-encoding deprecated fileutils ioutils