当前位置: 首页 > ops >正文

java.nio.file.InvalidPathException异常

一.问题概述

        本人在ubuntu22.04的操作系统上,运行java程序时创建一个文件时,由于文件名称中包含了中文,所以导致了程序抛出了java.nio.file.InvalidPathException的异常。

java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: 样例-1.txtat java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:121)at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:68)at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)at java.base/java.nio.file.Path.resolve(Path.java:515)

二.问题分析

        在本地的windows环境中调试程序来跟踪错误时,却发现本地的程序创建含有中文名称的文件是可以成功的。所以初步判断应该是ubuntu22.04的操作系统字符编码的问题。而且ubuntu22.04的操作系统会有bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)的提示信息。

三.解决方案

1.替换镜像源

sed -i 's/mirrors.cloud.aliyuncs.com/mirrors.aliyun.com/g' /etc/apt/sources.list

可以将ubuntu22.04操作系统的镜像源更换为阿里云ECS镜像源,这样方便下载和安装软件。

2.清理软件包缓存

apt-get clean

3.更新软件包索引

apt-get update

4.安装locales

apt-get install -y locales

5.指定语言环境

locale-gen en_US.UTF-8

6.指定文件编码启动JVM

java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar xxx.jar 

        通过以上6个步骤的处理,然后重启ubuntu22.04操作系统,最后程序在创建中文名称的文件成功,InvalidPathException异常的问题得以解决。

http://www.xdnf.cn/news/20008.html

相关文章:

  • 文章采集发布帝国ECMS网站技巧
  • K8s访问控制(一)
  • MySQL高级进阶(流程控制、循环语句、触发器)
  • 电机试验平台:从实验到应用的创新突破
  • OpenCV C++ 进阶:图像直方图与几何变换全解析
  • 大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
  • 孟子GPT
  • Ruoyi-vue-plus-5.x第五篇Spring框架核心技术:5.1 Spring Boot自动配置
  • React中使用DDD(领域驱动设计)
  • java,通过SqlSessionFactory实现动态表明的插入和查询(适用于一个版本一个表的场景)
  • c51串口通信原理及实操
  • 进程和线程创建销毁时mutex死锁问题分析
  • 神经网络之深入理解偏置
  • Go语言实战案例- 命令行参数解析器
  • Gin + Viper 实现配置读取与热加载
  • swing笔记
  • 【Flutter】flutter_local_notifications并发下载任务通知实践
  • 深度学习基础概念【持续更新】
  • 前端安全防护深度实践:从XSS到供应链攻击的全面防御
  • JAiRouter 配置文件重构纪实 ——基于单一职责原则的模块化拆分与内聚性提升
  • 消费品企业客户数据分散?CRM 系统来整合
  • Python包管理工具全对比:pip、conda、Poetry、uv、Flit深度解析
  • mac怎么安装uv工具
  • CT影像寻找皮肤轮廓预处理
  • 一天一个强大的黑科技网站第1期~一键抠图神器!设计师必备!分分钟扣100张图!
  • 基于STM32设计的激光充电控制系统(华为云IOT)_277
  • Flutter的三棵树
  • 【STM32外设】DAC
  • Big Data Analysis
  • 某头部能源集团“数据治理”到“数智应用”跃迁案例剖析