我试图在这段代码中使用常量而不是字符串文字:

new InputStreamReader(new FileInputStream(file), "UTF-8")

"UTF-8"经常出现在代码中,最好使用static final变量.你知道在JDK中哪里可以找到这样的变量吗?

顺便说一句,再想想,这样的常数是糟糕的设计:Public Static Literals ... Are Not a Solution for Data Duplication

推荐答案

在Java1.7+中,java.nio.charset.StandardCharsetsCharset(包括UTF_8)定义常量.

import java.nio.charset.StandardCharsets;

...

StandardCharsets.UTF_8.name();

For Android: minSdk 19

Java相关问答推荐

我正在try 对用户输入的整元进行气泡排序(Java)

我们如何直接使用kerminldap服务票证来通过ldap进行身份验证并形成LDAP上下文

Spring Batch 5-不要让它在数据库中自动创建表

弹簧靴和龙目岛

为什么我的ArrayList索引的索引总是返回-1?

如何创建同一类的另一个对象,该对象位于变量中?

当涉及到泛型时,类型推理在Java中是如何工作的?

JPanel透支重叠的JComcoBox

如何解释Java中for-each循环中对Iterable的强制转换方法引用?

如何使用带有谓词参数的方法,而不使用lambda表达式

在添加AdMob时无法为Google Play构建应用程序包:JVM垃圾收集器崩溃和JVM内存耗尽

使用正则表达式从字符串中提取多个值

在macOS上读取文件会导致FileNotFound,即使文件存在(并且具有权限)

如何生成指定范围内的11位序列号?

如何根据配置动态创建N个bean

从泛型枚举创建EnumMap

Java中HashSet的搜索时间与TreeSet的搜索时间

Java中的发布/订阅-Long Live和Short Live Publisher,哪种方法是正确的?

根据应用程序 Select 的语言检索数据

javax.crypto-密码对象-提供者服务是如何工作的?