删除构造函数“scanner(file)”的这种用法

h9vpoimq  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(423)

如何修复这个声纳问题?

File file = new File("/some directory");
Scanner scanner = new Scanner(file);

删除此构造函数“scanner(file)”的用法

az31mfrm

az31mfrm1#

规则说:
不应使用依赖默认系统编码的类和方法
使用依赖于默认系统编码的类和方法可以生成在其“主”环境中运行良好的代码。但对于那些使用不同编码的客户来说,这些代码可能会中断,因为这些编码的诊断极其困难,而且在修复它们时,几乎(如果不是完全)不可能重现。
要解决此问题,应该使用包含 Charset . 例如 Scanner(File, Charset) 建造师。您应该指定所需的字符集。

File file = new File("/some directory");
Scanner scanner = new Scanner(file, StandardCharsets.UTF_8); // as an example

相关问题