删除构造函数"Scanner(file)"的这种使用



如何解决此声纳问题?

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

删除构造函数"的使用;扫描仪(文件(";

规则说:

不应使用依赖默认系统编码的类和方法

使用依赖于默认系统编码的类和方法可以产生在其"系统"中工作良好的代码;家;环境但是,对于那些使用不同编码的客户来说,这些代码可能会崩溃,这些编码极难诊断,而且在修复时几乎不可能复制。

若要解决此问题,应使用包含Charset的构造函数。例如,Scanner(File, Charset)构造函数。您应该指定所需的字符集。

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

最新更新