java.nio.charset.MalformedInputException: Input length = 1

1、问题

在这里插入图片描述

项目启动报错:
Exception in thread "main" org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

提示原因:
Caused by: java.nio.charset.MalformedInputException: Input length = 1

2、原因

项目编码问题

3、解决

修改项目编码格式,如下:
在这里插入图片描述
将上面图中两处编码修改为UTF-8后,这时如果直接再次启动项目,仍然会报错。

需要先 mvn clean 一下,重新 compile

问题解决。

OK,就这些吧。
有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!☺☺☺

### 处理 `java.nio.charset.MalformedInputException` 异常 当遇到 `java.nio.charset.MalformedInputException: Input length = 1` 的异常时,通常是因为字符编码设置不当引起的。以下是几种常见的解决方案: #### 修改文件编码格式 确保项目的配置文件(如 `application.yml` 或其他资源文件)采用统一的 UTF-8 编码格式可以有效防止此类错误的发生[^3]。 对于IDEA开发环境而言,在 **Settings/Preferences | Editor | File Encodings** 中调整目标文件的编码方式为UTF-8能够帮助解决问题[^5]。 #### 清理构建缓存并重新编译项目 有时即使更改了编码设置,仍需清理Maven或Gradle的本地仓库以及执行一次完整的构建过程来使改动生效。这可以通过命令行工具完成相应操作,例如使用 Maven 执行以下指令: ```shell mvn clean install ``` #### 调整读取流的方式 如果是在程序内部处理外部输入源,则应指定正确的字符集名称作为参数传递给相应的I/O类构造函数或者方法调用处。比如在创建BufferedReader实例的时候指明charsetName属性值为 "UTF-8": ```java InputStreamReader inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); ``` 通过上述措施往往能较好地应对由不同编码体系间转换所引发的一系列问题,并最终消除该类型的运行期异常提示信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

message丶小和尚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值