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"));
相关推荐
SimonKing4 小时前
还在为HTML转PDF发愁?再介绍两款工具,为你保驾护航!
java·后端·程序员
龙泉寺天下行走4 小时前
[Powershell入门教程]第4天:模块、脚本编写、错误处理与 .NET 集成
java·服务器·前端
aniden4 小时前
Swagger从入门到实战
java·开发语言·spring
泥嚎泥嚎4 小时前
【Android】给App添加启动画面——SplashScreen
android·java
Java天梯之路4 小时前
09 Java 异常处理
java·后端
玖剹4 小时前
多线程编程:从日志到单例模式全解析
java·linux·c语言·c++·ubuntu·单例模式·策略模式
一 乐4 小时前
社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·小程序
随机昵称_1234564 小时前
Linux如何从docker hub下载arm镜像
java·linux·arm开发·docker
毕设源码-邱学长5 小时前
【开题答辩全过程】以 基于JavaWeb医院住院信息管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
q***47185 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring