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

问题描述

如何解决这个声纳问题?

distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

移除构造函数“Scanner(file)”的使用

解决方法

rule 说:

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

使用依赖于默认系统编码的类和方法可能会导致代码在其“家庭”环境中正常工作。但是,对于使用不同编码的客户来说,该代码可能会损坏,这些方式极难诊断,并且在修复它们时几乎(如果不是完全)无法重现。

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

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