创建含有中文名文件,报无效参数
问题场景
需要在应用服务器所挂载的nas文件夹下,创建含有中文的文件时,报无效的参数。
系统打印的日志如下:
……
xxx Error R java.io.IOException: 无效的参数
xxx Error R at java.io.File.createNewFile(File.java:1023)
……
在服务器手动创建文件,报同样的错,排除代码问题。
[was@xxx 49]$ touch 中文
touch: 正在设置"中文" 的时间:无效的参数
[was@xxx 49]$
超出能力范围,迅速找外援。找操作系统的老师,指出挂载的配置参数有问题。
老师给出以下三步,其中fstab文件是配置的挂载参数(可参照其他可创建中文的参数进行配置)
修改挂载配置
用root用户登录系统
[was@xxx 49]$ vi /etc/fstab
[was@xxx 49]$ umount -lf /share
[was@xxx 49]$ mount -a
示例文件 /etc/fstab
# /etc/fstab
/dev/hda8 swap swap defaults 0 0
/dev/hda9 / ext2 defaults 1 1
/dev/hda6 /wine vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda7 /winf vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hdb /cdrom iso9660 noauto,user 0 0 none
/proc proc defaults 0 0 none
/dev/pts devpts gid=5,mode=620 0 0
xx.xx.xx.xx:/GYLapp /share nfs defaults,_netdev 0 0
另外请注意:
系统打印日志一定要把捕捉的 Excetion e 打印出来,不要new 一个系统自己定义的异常,也不带一点 e 的相关信息。(这个就是把e打出来后才定位出问题位置)