java - 替换不推荐使用的 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
编码参数作为新方法传递给新方法,它的行为将与旧方法一样。这意味着旧方法始终使用平台默认值。但是有没有办法检查呢?
解决方案
正如预期的那样,它使用了默认编码readFileToString:
使用 VM 的默认编码将文件的内容读入字符串。该文件始终处于关闭状态。
使用平台的默认字符编码将byte[] 的内容作为 String 获取。
推荐阅读
- sql - 为什么 PLSQL 优化级别没有提供预期的结果?
- php - 在 Laravel Livewire 中持久化 Eloquent Builder 实例
- unix - 如何使用 awk 或 sed 在文件中每个单词的末尾附加一个字符?
- linux - 如何将输入中的所有字符 A 和 c 分别替换为 Z 和 e
- javascript - 如果 id 与 JsonB 相同,则更新 JsonA 对象值
- json - JSON:根据匹配的键修改特定值:另一个JSON的值
- python - Pandas 通过多个字符串分隔符将列拆分为多列
- typescript - 在类型化的字符串文字中强制使用后缀
- ruby - Nokogiri:解析和更新 Plist 中的值
- php - LDAP:无法添加 CN 不包含名字和姓氏的用户