SpotBugs检查java代码:不应该依赖平台默认编码(DM_DEFAULT_ENCODING)

https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#internationalization-i18n

一个字节转换为字符串(或字符串转化为字节)的函数调用没有明确指明编码,而是依赖平台默认的编码,这可能导致应用在不同平台上的行为发生变化。推荐的方法是调用能够指定编码名字或者Charset对象的API。

例如,下面这段代码在调用InputStreamReader构造器的时候,没有指定编码:

复制代码
bufferedReader = new BufferedReader(new InputStreamReader(System.in));

建议调用能够指定编码名字或者Charset对象的构造器:

例如,改为下面的形式:

复制代码
bufferedReader = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
相关推荐
snow@li11 小时前
Java:Java 服务器(Web 容器 / Servlet 容器)完整工作清单
java·服务器·前端
青山木11 小时前
Hot 100 --- 二叉树与递归
java·数据结构·算法·leetcode·深度优先
jason成都12 小时前
GNSS-QC 数据清洗功能全面增强|滑坡监测实测验证,适配 rtklib_java 高精度解算链路
java·gnss
前端工作日常12 小时前
我学习到的Java概念
java·后端
卓怡学长12 小时前
w263基于springboot + vue 健康饮食管理系统
java·数据库·vue.js·spring boot·spring·intellij-idea
r_oo_ki_e_12 小时前
Java反射机制学习笔记
java·笔记·学习
九皇叔叔12 小时前
RHEL9.8 配置本地镜像仓库
android·java·缓存
范什么特西12 小时前
苍穹外卖体会
java
Nontee12 小时前
数据类型与包装类 — 一个新手学Java的数据类型笔记
java·笔记·python
音符犹如代码12 小时前
Java动态线程池:避坑原生线程池,吃透Dynamic-TP,手写一个Demo
java·开发语言