このコードでは、文字列リテラルの代わりに定数を使用しようとしています。
new InputStreamReader(new FileInputStream(file), "UTF-8")
"UTF-8"
コード内に頻繁に出現するため、代わりに何らかの変数を参照する方がはるかに適切ですstatic final
。JDK でそのような変数がどこにあるかご存知ですか?
ところで、よく考えてみると、このような定数は悪い設計です。パブリック静的リテラルはデータ重複の解決策ではない
ベストアンサー1
Java 1.7以降では、java.nio.charset.StandardCharsetsCharset
を含めるための定数を定義しますUTF_8
。
import java.nio.charset.StandardCharsets;
...
StandardCharsets.UTF_8.name();
Androidの場合: minSdk 19