如何修复这个声纳问题?
File file = new File("/some directory"); Scanner scanner = new Scanner(file);
删除此构造函数“scanner(file)”的用法
az31mfrm1#
规则说:不应使用依赖默认系统编码的类和方法使用依赖于默认系统编码的类和方法可以生成在其“主”环境中运行良好的代码。但对于那些使用不同编码的客户来说,这些代码可能会中断,因为这些编码的诊断极其困难,而且在修复它们时,几乎(如果不是完全)不可能重现。要解决此问题,应该使用包含 Charset . 例如 Scanner(File, Charset) 建造师。您应该指定所需的字符集。
Charset
Scanner(File, Charset)
File file = new File("/some directory"); Scanner scanner = new Scanner(file, StandardCharsets.UTF_8); // as an example
1条答案
按热度按时间az31mfrm1#
规则说:
不应使用依赖默认系统编码的类和方法
使用依赖于默认系统编码的类和方法可以生成在其“主”环境中运行良好的代码。但对于那些使用不同编码的客户来说,这些代码可能会中断,因为这些编码的诊断极其困难,而且在修复它们时,几乎(如果不是完全)不可能重现。
要解决此问题,应该使用包含
Charset
. 例如Scanner(File, Charset)
建造师。您应该指定所需的字符集。